diff --git a/ChangeLog b/ChangeLog
index 22dcb75e114f96c6fd072e7543dfce6c4f0a2705..78b686916705369b77bbd36d9372f3121f02fd5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+01-JUN-2018: 8.7.1
+
+- Moves import CSV to insert menu
+
 31-MAY-2018: 8.7.0
 
 - Adds editableCssRules style
diff --git a/VERSION b/VERSION
index c0bcaebe8f2eeb9593aebd54637b20b9278c5599..efeecbe2c5e2188b237bc58013491fc92be5879e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-8.7.0
\ No newline at end of file
+8.7.1
\ No newline at end of file
diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest
index d00c78e61f98bd53e7e8ce4b92653a33a5c8faea..fde125bed48dc346c32e77f939bf98822beb4baf 100644
--- a/src/main/webapp/cache.manifest
+++ b/src/main/webapp/cache.manifest
@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 05/31/2018 08:33 AM
+# 06/01/2018 01:10 PM
 
 app.html
 index.html?offline=1
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 8fa138328fc7cb9d8b2ae131794977490d2a4ac0..fd65a5cdbb5a9143b780c98ce252bddc7af36d8c 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -3243,9 +3243,9 @@ d[b],a+"/rack/"+d[b].toLowerCase()+".xml",";html=1;labelPosition=right;align=lef
 this.addStencilPalette("pid"+k[b],"Proc. Eng. / "+k[b],a+"/pid/"+k[b].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(b=0;b<q.length;b++)"Model Elements"==q[b]?this.addSysMLModelElementsPalette():"Blocks"==q[b]?this.addSysMLBlocksPalette():"Ports and Flows"==q[b]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[b]?this.addSysMLConstraintBlocksPalette():"Activities"==
 q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteractionsPalette():"State Machines"==q[b]?this.addSysMLStateMachinesPalette():"Use Cases"==q[b]?this.addSysMLUseCasesPalette():"Allocations"==q[b]?this.addSysMLAllocationsPalette():"Requirements"==q[b]?this.addSysMLRequirementsPalette():"Profiles"==q[b]?this.addSysMLProfilesPalette():"Stereotypes"==q[b]&&this.addSysMLStereotypesPalette();for(b=0;b<p.length;b++)"Message Construction"==p[b]?this.addEipMessageConstructionPalette():
 "Message Routing"==p[b]?this.addEipMessageRoutingPalette():"Message Transformation"==p[b]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[b]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[b]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[b]?this.addEipMessagingSystemsPalette():"System Management"==p[b]&&this.addEipSystemManagementPalette();for(b=0;b<n.length;b++)this.addStencilPalette("cisco"+n[b],"Cisco / "+n[b],a+"/cisco/"+n[b].toLowerCase().replace(/ /g,
-"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette():"Chips"==
-r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette():"Steppers"==
-r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this,
+"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette():
+"Chips"==r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette():
+"Steppers"==r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this,
 function(b,a,c,e,l){if(null==m||0>mxUtils.indexOf(m,a))c=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)),
 this.tagIndex=null);this.editorUi.isOffline()||0!=e||this.editorUi.logEvent({category:"Sidebar",action:"search",label:a});null!=ICONSEARCH_PATH&&(d=mxUtils.bind(this,function(b,d,f,g){!this.editorUi.isOffline()&&b.length<=c/4?(f=e-Math.ceil((d-c/4)/c),mxUtils.get(ICONSEARCH_PATH+"?v=2&q="+encodeURIComponent(a)+"&p="+f+"&c="+c,mxUtils.bind(this,function(a){try{if(200<=a.getStatus()&&299>=a.getStatus())try{var f=JSON.parse(a.getText());if(null==f||null==f.icons)l(b,d,!1,g),this.editorUi.handleError(f);
 else{for(a=0;a<f.icons.length;a++){for(var h=f.icons[a].raster_sizes,k=h.length-1;0<k&&128<h[k].size;)k--;var m=h[k].size,n=h[k].formats[0].preview_url;null!=m&&null!=n&&mxUtils.bind(this,function(a,c){b.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+c,a,a,"")}))})(m,n)}l(b,(e-1)*c+b.length,f.icons.length==c,g)}}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}else l(b,
@@ -3365,8 +3365,8 @@ this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ff99;shape=m
 150,75,"","Application Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.service;",60,35,"","Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=event;archiType=rounded",
 150,75,"","Application Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.event;",60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.businessObject;overflow=fill",
 150,75,'<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="center"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>',"Data Object",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer data object").join(" "))];this.addPalette("archimate3Application","Archimate 3.0 / Application",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addArchimate3BusinessPalette=function(){var a=[this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=actor;archiType=square;",150,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.actor;",50,95,"","Actor",null,
-null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=role;archiType=square;",150,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.role;",
+Sidebar.prototype.addArchimate3BusinessPalette=function(){var a=[this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=actor;archiType=square;",150,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.archimate3.actor;",
+50,95,"","Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=role;archiType=square;",150,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.role;",
 85,50,"","Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=collab;archiType=square;",150,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.collaboration;",
 60,35,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=interface;archiType=square;",150,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer component").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.interface;",
 70,35,"","Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer interface").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=proc;archiType=rounded;",150,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer process").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.process;",
@@ -3669,45 +3669,46 @@ b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"EC2 Spot Fleet
 "Elastic Beanstalk Container")}),this.createVertexTemplateEntry(d+"region;strokeColor=#000000;fillColor=none;gradientColor=none;",200,200,"","Region",null,null,this.getTagsForStencil("mxgraph.aws.groups","region","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;",200,200,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws.groups","security","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(d+
 "rrect;fillColor=#F2F2F2;strokeColor=#000000;gradientColor=none;",200,200,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws.groups","server content","aws group amazon web service ").join(" ")),this.addEntry("aws group amazon web service virtual private cloud",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;");e.vertex=!0;var b=new mxCell("",new mxGeometry(10,0,70,40),d+"virtual_private_cloud_icon;strokeColor=none;fillColor=#282560;gradientColor=none;");
 b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service virtual private cloud subnet vpc",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,40),d+"vpc_subnet_icon;strokeColor=none;fillColor=#282560;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"VPC Subnet")})])}})();(function(){Sidebar.prototype.addAWS3Palette=function(){this.addAWS3AnalyticsPalette();this.addAWS3ApplicationServicesPalette();this.addAWS3ArtificialIntelligencePalette();this.addAWS3BusinessProductivityPalette();this.addAWS3ComputePalette();this.addAWS3ContactCenterPalette();this.addAWS3DatabasePalette();this.addAWS3DesktopAndAppStreamingPalette();this.addAWS3DeveloperToolsPalette();this.addAWS3GameDevelopmentPalette();this.addAWS3GeneralPalette();this.addAWS3GroupsPalette();this.addAWS3InternetOfThingsPalette();
-this.addAWS3ManagementToolsPalette();this.addAWS3MessagingPalette();this.addAWS3MigrationPalette();this.addAWS3MobileServicesPalette();this.addAWS3NetworkAndContentDeliveryPalette();this.addAWS3OnDemandWorkforcePalette();this.addAWS3SDKPalette();this.addAWS3SecurityIdentityAndCompliancePalette();this.addAWS3StoragePalette()};Sidebar.prototype.addAWS3AnalyticsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Analytics","AWS / Analytics",
-!1,[this.createVertexTemplateEntry(a+"athena;fillColor=#F58534;gradientColor=none;",76.5,76.5,"","Athena",null,null,this.getTagsForStencil("mxgraph.aws3","athena","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"cloudsearch;fillColor=#F58534;gradientColor=none;",76.5,93,"","CloudSearch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudsearch cloud search","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"elasticsearch_service;fillColor=#F58534;gradientColor=none;",
-67.5,81,"","ElasticSearch Service",null,null,this.getTagsForStencil("mxgraph.aws3","elasticsearch elastic search service","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr;fillColor=#F58534;gradientColor=none;",67.5,81,"","EMR",null,null,this.getTagsForStencil("mxgraph.aws3","emr","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis;fillColor=#F58534;gradientColor=none;",67.5,81,"","Kinesis",null,null,this.getTagsForStencil("mxgraph.aws3",
-"kinesis","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"quicksight;fillColor=#00B7F4;gradientColor=none;",60,60,"","QuickSight",null,null,this.getTagsForStencil("mxgraph.aws3","quicksight quick sight","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service analytics").join(" ")),
-this.createVertexTemplateEntry(a+"data_pipeline;fillColor=#F58534;gradientColor=none;",67.5,81,"","Data Pipeline",null,null,this.getTagsForStencil("mxgraph.aws3","data pipeline","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"search_documents;fillColor=#F58534;gradientColor=none;",60,63,"","Search Documents",null,null,this.getTagsForStencil("mxgraph.aws3","search documents","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
-"emr_cluster;fillColor=#F58534;gradientColor=none;",55.5,63,"","Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","emr cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m3;fillColor=#F58534;gradientColor=none;",
-82.5,60,"","EMR engine MapR M3",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M3","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m5;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M5",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M5","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m7;fillColor=#F58534;gradientColor=none;",82.5,60,"",
-"EMR engine MapR M7",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M7","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"glue;fillColor=#F58534;gradientColor=none;",82.5,99,"","Glue",null,null,this.getTagsForStencil("mxgraph.aws3","glue","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"hdfs_cluster;fillColor=#F58534;gradientColor=none;",61.5,63,"","HDFS Cluster",null,null,this.getTagsForStencil("mxgraph.aws3",
-"hdfs Cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_analytics;fillColor=#F58534;gradientColor=none;",73.5,75,"","Kinesis Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis analytics","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_enabled_app;fillColor=#F58534;gradientColor=none;",64.5,67.5,"","Kinesis-enabled app",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis enabled app",
-"aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_firehose;fillColor=#F58534;gradientColor=none;",60,64.5,"","Kinesis Firehose",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis firehose","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_streams;fillColor=#F58534;gradientColor=none;",60,63,"","Kinesis Streams",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis streams","aws group amazon web service analytics").join(" ")),
-this.createVertexTemplateEntry(a+"dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node","aws group amazon web service analytics").join(" "))])};Sidebar.prototype.addAWS3ApplicationServicesPalette=
-function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Application Services","AWS / Application Services",!1,[this.createVertexTemplateEntry(a+"elastic_transcoder;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Elastic Transcoder",null,null,this.getTagsForStencil("mxgraph.aws3","elastic transcoder","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",
-76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"step_functions;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Step Functions",null,null,this.getTagsForStencil("mxgraph.aws3","step functions","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"swf;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SWF",null,
-null,this.getTagsForStencil("mxgraph.aws3","swf","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"decider;fillColor=#D9A741;gradientColor=none;",61.5,64.5,"","Decider",null,null,this.getTagsForStencil("mxgraph.aws3","decider","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"worker;fillColor=#D9A741;gradientColor=none;",60,63,"","Worker",null,null,this.getTagsForStencil("mxgraph.aws3","worker",
-"aws group amazon web service app application services").join(" "))])};Sidebar.prototype.addAWS3ArtificialIntelligencePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Artificial Intelligence","AWS / Artificial Intelligence",!1,[this.createVertexTemplateEntry(a+"lex;fillColor=#2E73B8;gradientColor=none;",76.5,81,"","Lex",null,null,this.getTagsForStencil("mxgraph.aws3","lex","aws group amazon web service ai artificial intelligence").join(" ")),
-this.createVertexTemplateEntry(a+"machine_learning;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.aws3","machine learning","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"polly;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Polly",null,null,this.getTagsForStencil("mxgraph.aws3","polly","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+
-"rekognition;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Rekognition",null,null,this.getTagsForStencil("mxgraph.aws3","rekognition","aws group amazon web service ai artificial intelligence").join(" "))])};Sidebar.prototype.addAWS3BusinessProductivityPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Business Productivity","AWS / Business Productivity",!1,[this.createVertexTemplateEntry(a+"chime;fillColor=#03B5BB;gradientColor=none;",
-99,99,"","Chime",null,null,this.getTagsForStencil("mxgraph.aws3","chime","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkDocs",null,null,this.getTagsForStencil("mxgraph.aws3","workdocs work docs documents","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
-82.5,94.5,"","WorkMail",null,null,this.getTagsForStencil("mxgraph.aws3","workmail work mail","aws group amazon web service business productivity").join(" "))])};Sidebar.prototype.addAWS3ComputePalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Compute","AWS / Compute",!1,[this.createVertexTemplateEntry(d+"ami;fillColor=#F58534;gradientColor=none;",60,63,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3","ami","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"ec2;fillColor=#F58534;gradientColor=none;",76.5,93,"","EC2",null,null,this.getTagsForStencil("mxgraph.aws3","ec2","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_load_balancing;fillColor=#F58534;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"auto_scaling;fillColor=#F58534;gradientColor=none;",
-79.5,76.5,"","Auto Scaling",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_ip;fillColor=#F58534;gradientColor=none;",76.5,21,"","Elastic IP",null,null,this.getTagsForStencil("mxgraph.aws3","elastic ip","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_beanstalk;fillColor=#F58534;gradientColor=none;",67.5,93,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws3",
-"elastic beanstalk","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda;fillColor=#F58534;gradientColor=none;",76.5,93,"","Lambda",null,null,this.getTagsForStencil("mxgraph.aws3","lambda","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecs;fillColor=#F58534;gradientColor=none;",72,67.5,"","ECS",null,null,this.getTagsForStencil("mxgraph.aws3","ecs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"db_on_instance;fillColor=#F58534;gradientColor=none;",60,64.5,"","DB on Instance",null,null,this.getTagsForStencil("mxgraph.aws3","db on instance database","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance;fillColor=#F58534;gradientColor=none;",60,63,"","Instance",null,null,this.getTagsForStencil("mxgraph.aws3","instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lightsail;fillColor=#F58534;gradientColor=none;",
-76.5,82.5,"","Lightsail",null,null,this.getTagsForStencil("mxgraph.aws3","lightsail","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"endpoints;fillColor=#F58534;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instances;fillColor=#F58534;gradientColor=none;",60,63,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3",
-"instances","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_interface;fillColor=#F58534;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"internet_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway",
-"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"flow_logs;fillColor=#F58534;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"customer_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"instance_with_cloudwatch;fillColor=#F58534;gradientColor=none;",60,63,"","Instance with CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","instance with cloudwatch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_adapter;fillColor=#F58534;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"optimized_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Optimized Instance",null,null,this.getTagsForStencil("mxgraph.aws3","optimized instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"rescue;fillColor=#F58534;gradientColor=none;",63,66,"","Rescue",null,null,this.getTagsForStencil("mxgraph.aws3","rescue","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"spot_instance;fillColor=#F58534;gradientColor=none;",
-60,63,"","Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws3","spot instance","aws group amazon web service compute").join(" ")),this.addEntry("aws group amazon web service computeSpot Fleet",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),"rounded=1;fillColor=none;strokeColor=#000000;gradientColor=none;arcSize=10;dashed=1;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,43,40),d+"spot_instance;fillColor=#F58534;strokeColor=none;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,
-b],200,230,"Spot Fleet")}),this.createVertexTemplateEntry(d+"ecr;fillColor=#F58534;gradientColor=none;",69,72,"","ECR",null,null,this.getTagsForStencil("mxgraph.aws3","ecr","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"deployment;fillColor=#F58534;gradientColor=none;",55.5,73.5,"","Deployment",null,null,this.getTagsForStencil("mxgraph.aws3","deployment","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_connection;fillColor=#F58534;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_peering;fillColor=#F58534;gradientColor=none;",
-69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application;fillColor=#F58534;gradientColor=none;",34.5,64.5,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3","application","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",
-null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_2;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_3;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",
-null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_nat_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecr_registry;fillColor=#F58534;gradientColor=none;",57,60,"","ECR Registry",null,null,this.getTagsForStencil("mxgraph.aws3",
-"ecr registry","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"batch;fillColor=#F58534;gradientColor=none;",76.5,93,"","Batch",null,null,this.getTagsForStencil("mxgraph.aws3","batch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"router;fillColor=#F58534;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"vpc;fillColor=#F58534;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda_function;fillColor=#F58534;gradientColor=none;",
-69,72,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"classic_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"",
-"Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"x1_instance;fillColor=#F58534;gradientColor=none;",60,63,"","X1 Instance",null,null,this.getTagsForStencil("mxgraph.aws3","x1 instance","aws group amazon web service compute").join(" "))])};Sidebar.prototype.addAWS3ContactCenterPalette=function(){this.addPaletteFunctions("aws3Contact Center","AWS / Contact Center",
-!1,[this.createVertexTemplateEntry("dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.connect;fillColor=#759C3E;gradientColor=none;",90,69,"","Connect",null,null,this.getTagsForStencil("mxgraph.aws3","connect","aws group amazon web service contact center").join(" "))])};Sidebar.prototype.addAWS3DatabasePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Database","AWS / Database",!1,[this.createVertexTemplateEntry(a+"dynamo_db;fillColor=#2E73B8;gradientColor=none;",
+this.addAWS3ManagementToolsPalette();this.addAWS3MessagingPalette();this.addAWS3MigrationPalette();this.addAWS3MobileServicesPalette();this.addAWS3NetworkAndContentDeliveryPalette();this.addAWS3OnDemandWorkforcePalette();this.addAWS3SDKPalette();this.addAWS3SecurityIdentityAndCompliancePalette();this.addAWS3StoragePalette()};Sidebar.prototype.addAWS3AnalyticsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";
+this.addPaletteFunctions("aws3Analytics","AWS / Analytics",!1,[this.createVertexTemplateEntry(a+"athena;fillColor=#F58534;gradientColor=none;",76.5,76.5,"","Athena",null,null,this.getTagsForStencil("mxgraph.aws3","athena","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"cloudsearch;fillColor=#F58534;gradientColor=none;",76.5,93,"","CloudSearch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudsearch cloud search","aws group amazon web service analytics").join(" ")),
+this.createVertexTemplateEntry(a+"elasticsearch_service;fillColor=#F58534;gradientColor=none;",67.5,81,"","ElasticSearch Service",null,null,this.getTagsForStencil("mxgraph.aws3","elasticsearch elastic search service","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr;fillColor=#F58534;gradientColor=none;",67.5,81,"","EMR",null,null,this.getTagsForStencil("mxgraph.aws3","emr","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
+"kinesis;fillColor=#F58534;gradientColor=none;",67.5,81,"","Kinesis",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"quicksight;fillColor=#00B7F4;gradientColor=none;",60,60,"","QuickSight",null,null,this.getTagsForStencil("mxgraph.aws3","quicksight quick sight","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,
+"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"data_pipeline;fillColor=#F58534;gradientColor=none;",67.5,81,"","Data Pipeline",null,null,this.getTagsForStencil("mxgraph.aws3","data pipeline","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"search_documents;fillColor=#F58534;gradientColor=none;",60,63,"","Search Documents",null,null,this.getTagsForStencil("mxgraph.aws3",
+"search documents","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_cluster;fillColor=#F58534;gradientColor=none;",55.5,63,"","Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","emr cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine","aws group amazon web service analytics").join(" ")),
+this.createVertexTemplateEntry(a+"emr_engine_mapr_m3;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M3",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M3","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m5;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M5",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M5","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
+"emr_engine_mapr_m7;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M7",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M7","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"glue;fillColor=#F58534;gradientColor=none;",82.5,99,"","Glue",null,null,this.getTagsForStencil("mxgraph.aws3","glue","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"hdfs_cluster;fillColor=#F58534;gradientColor=none;",
+61.5,63,"","HDFS Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","hdfs Cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_analytics;fillColor=#F58534;gradientColor=none;",73.5,75,"","Kinesis Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis analytics","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_enabled_app;fillColor=#F58534;gradientColor=none;",64.5,67.5,"","Kinesis-enabled app",
+null,null,this.getTagsForStencil("mxgraph.aws3","kinesis enabled app","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_firehose;fillColor=#F58534;gradientColor=none;",60,64.5,"","Kinesis Firehose",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis firehose","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_streams;fillColor=#F58534;gradientColor=none;",60,63,"","Kinesis Streams",null,null,this.getTagsForStencil("mxgraph.aws3",
+"kinesis streams","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node",
+"aws group amazon web service analytics").join(" "))])};Sidebar.prototype.addAWS3ApplicationServicesPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Application Services","AWS / Application Services",!1,[this.createVertexTemplateEntry(a+"elastic_transcoder;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Elastic Transcoder",null,null,this.getTagsForStencil("mxgraph.aws3",
+"elastic transcoder","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"step_functions;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Step Functions",null,null,this.getTagsForStencil("mxgraph.aws3","step functions",
+"aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"swf;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SWF",null,null,this.getTagsForStencil("mxgraph.aws3","swf","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"decider;fillColor=#D9A741;gradientColor=none;",61.5,64.5,"","Decider",null,null,this.getTagsForStencil("mxgraph.aws3","decider","aws group amazon web service app application services").join(" ")),
+this.createVertexTemplateEntry(a+"worker;fillColor=#D9A741;gradientColor=none;",60,63,"","Worker",null,null,this.getTagsForStencil("mxgraph.aws3","worker","aws group amazon web service app application services").join(" "))])};Sidebar.prototype.addAWS3ArtificialIntelligencePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Artificial Intelligence","AWS / Artificial Intelligence",
+!1,[this.createVertexTemplateEntry(a+"lex;fillColor=#2E73B8;gradientColor=none;",76.5,81,"","Lex",null,null,this.getTagsForStencil("mxgraph.aws3","lex","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"machine_learning;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.aws3","machine learning","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+
+"polly;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Polly",null,null,this.getTagsForStencil("mxgraph.aws3","polly","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"rekognition;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Rekognition",null,null,this.getTagsForStencil("mxgraph.aws3","rekognition","aws group amazon web service ai artificial intelligence").join(" "))])};Sidebar.prototype.addAWS3BusinessProductivityPalette=function(){var a=
+"dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Business Productivity","AWS / Business Productivity",!1,[this.createVertexTemplateEntry(a+"chime;fillColor=#03B5BB;gradientColor=none;",99,99,"","Chime",null,null,this.getTagsForStencil("mxgraph.aws3","chime","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
+82.5,94.5,"","WorkDocs",null,null,this.getTagsForStencil("mxgraph.aws3","workdocs work docs documents","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkMail",null,null,this.getTagsForStencil("mxgraph.aws3","workmail work mail","aws group amazon web service business productivity").join(" "))])};Sidebar.prototype.addAWS3ComputePalette=function(){var a=this,d=
+"dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Compute","AWS / Compute",!1,[this.createVertexTemplateEntry(d+"ami;fillColor=#F58534;gradientColor=none;",60,63,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3","ami","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2;fillColor=#F58534;gradientColor=none;",76.5,93,"","EC2",null,null,this.getTagsForStencil("mxgraph.aws3",
+"ec2","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_load_balancing;fillColor=#F58534;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"auto_scaling;fillColor=#F58534;gradientColor=none;",79.5,76.5,"","Auto Scaling",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"elastic_ip;fillColor=#F58534;gradientColor=none;",76.5,21,"","Elastic IP",null,null,this.getTagsForStencil("mxgraph.aws3","elastic ip","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_beanstalk;fillColor=#F58534;gradientColor=none;",67.5,93,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws3","elastic beanstalk","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda;fillColor=#F58534;gradientColor=none;",
+76.5,93,"","Lambda",null,null,this.getTagsForStencil("mxgraph.aws3","lambda","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecs;fillColor=#F58534;gradientColor=none;",72,67.5,"","ECS",null,null,this.getTagsForStencil("mxgraph.aws3","ecs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"db_on_instance;fillColor=#F58534;gradientColor=none;",60,64.5,"","DB on Instance",null,null,this.getTagsForStencil("mxgraph.aws3","db on instance database",
+"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance;fillColor=#F58534;gradientColor=none;",60,63,"","Instance",null,null,this.getTagsForStencil("mxgraph.aws3","instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lightsail;fillColor=#F58534;gradientColor=none;",76.5,82.5,"","Lightsail",null,null,this.getTagsForStencil("mxgraph.aws3","lightsail","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
+"endpoints;fillColor=#F58534;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instances;fillColor=#F58534;gradientColor=none;",60,63,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_interface;fillColor=#F58534;gradientColor=none;",69,72,
+"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"internet_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"flow_logs;fillColor=#F58534;gradientColor=none;",69,72,"","Flow Logs",null,
+null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"customer_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance_with_cloudwatch;fillColor=#F58534;gradientColor=none;",60,63,"","Instance with CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3",
+"instance with cloudwatch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_adapter;fillColor=#F58534;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"optimized_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Optimized Instance",null,null,this.getTagsForStencil("mxgraph.aws3",
+"optimized instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"rescue;fillColor=#F58534;gradientColor=none;",63,66,"","Rescue",null,null,this.getTagsForStencil("mxgraph.aws3","rescue","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"spot_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws3","spot instance","aws group amazon web service compute").join(" ")),
+this.addEntry("aws group amazon web service computeSpot Fleet",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),"rounded=1;fillColor=none;strokeColor=#000000;gradientColor=none;arcSize=10;dashed=1;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,43,40),d+"spot_instance;fillColor=#F58534;strokeColor=none;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"Spot Fleet")}),this.createVertexTemplateEntry(d+"ecr;fillColor=#F58534;gradientColor=none;",
+69,72,"","ECR",null,null,this.getTagsForStencil("mxgraph.aws3","ecr","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"deployment;fillColor=#F58534;gradientColor=none;",55.5,73.5,"","Deployment",null,null,this.getTagsForStencil("mxgraph.aws3",
+"deployment","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_connection;fillColor=#F58534;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_peering;fillColor=#F58534;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud",
+"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application;fillColor=#F58534;gradientColor=none;",34.5,64.5,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3","application","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"ec2_compute_container_2;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_3;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"vpc_nat_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecr_registry;fillColor=#F58534;gradientColor=none;",57,60,"","ECR Registry",null,null,this.getTagsForStencil("mxgraph.aws3","ecr registry","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
+"batch;fillColor=#F58534;gradientColor=none;",76.5,93,"","Batch",null,null,this.getTagsForStencil("mxgraph.aws3","batch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"router;fillColor=#F58534;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc;fillColor=#F58534;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3",
+"vpc virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda_function;fillColor=#F58534;gradientColor=none;",69,72,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3",
+"lambda function","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"classic_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3",
+"application load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"x1_instance;fillColor=#F58534;gradientColor=none;",60,63,"","X1 Instance",null,null,this.getTagsForStencil("mxgraph.aws3","x1 instance","aws group amazon web service compute").join(" "))])};Sidebar.prototype.addAWS3ContactCenterPalette=function(){this.addPaletteFunctions("aws3Contact Center","AWS / Contact Center",!1,[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+
+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.connect;fillColor=#759C3E;gradientColor=none;",90,69,"","Connect",null,null,this.getTagsForStencil("mxgraph.aws3","connect","aws group amazon web service contact center").join(" "))])};Sidebar.prototype.addAWS3DatabasePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Database","AWS / Database",!1,[this.createVertexTemplateEntry(a+"dynamo_db;fillColor=#2E73B8;gradientColor=none;",
 72,81,"","Dynamo DB",null,null,this.getTagsForStencil("mxgraph.aws3","dynamo","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"elasticache;fillColor=#2E73B8;gradientColor=none;",67.5,81,"","ElastiCache",null,null,this.getTagsForStencil("mxgraph.aws3","elasticache elastic cache","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"rds;fillColor=#2E73B8;gradientColor=none;",72,81,"","RDS",null,null,this.getTagsForStencil("mxgraph.aws3",
 "rds","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"redis;fillColor=#2E73B8;gradientColor=none;",60,63,"","Redis",null,null,this.getTagsForStencil("mxgraph.aws3","redis","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
 "rds_db_instance;fillColor=#2E73B8;gradientColor=none;",49.5,66,"","RDS DB Instance",null,null,this.getTagsForStencil("mxgraph.aws3","rds instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"rds_db_instance_read_replica;fillColor=#2E73B8;gradientColor=none;",49.5,66,"","RDS DB Instance Read Replica",null,null,this.getTagsForStencil("mxgraph.aws3","rds instance read replica","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
@@ -3722,119 +3723,121 @@ null,this.getTagsForStencil("mxgraph.aws3","sql master","aws group amazon web se
 this.createVertexTemplateEntry(a+"oracle_db_instance_2;fillColor=#2E73B8;gradientColor=none;",60,63,"","Oracle DB Instance",null,null,this.getTagsForStencil("mxgraph.aws3","oracle instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"postgre_sql_instance;fillColor=#2E73B8;gradientColor=none;",60,63,"","Postgre SQL Instance",null,null,this.getTagsForStencil("mxgraph.aws3","postgre sql instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
 "dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#2E73B8;gradientColor=none;",
 46.5,87,"","Database Migration Workflow/Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#2E73B8;gradientColor=none;",72,81,"","Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service db database").join(" "))])};Sidebar.prototype.addAWS3DesktopAndAppStreamingPalette=
-function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Desktop and App Streaming","AWS / Desktop and App Streaming",!1,[this.createVertexTemplateEntry(a+"appstream;fillColor=#D9A741;gradientColor=none;",76.5,93,"","AppStream",null,null,this.getTagsForStencil("mxgraph.aws3","appstream","aws group amazon web service desktop app streaming application").join(" ")),this.createVertexTemplateEntry(a+"workspaces;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
-82.5,94.5,"","WorkSpaces",null,null,this.getTagsForStencil("mxgraph.aws3","workspaces work spaces","aws group amazon web service desktop app streaming application").join(" "))])};Sidebar.prototype.addAWS3DeveloperToolsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Developer Tools","AWS / Developer Tools",!1,[this.createVertexTemplateEntry(a+"codecommit;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeCommit",null,null,this.getTagsForStencil("mxgraph.aws3",
-"codecommit code commit","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codedeploy;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeDeploy",null,null,this.getTagsForStencil("mxgraph.aws3","codedeploy code deploy","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codepipeline;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodePipeline",null,null,this.getTagsForStencil("mxgraph.aws3","codepipeline code pipeline",
-"aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codestar;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeStar",null,null,this.getTagsForStencil("mxgraph.aws3","codestar code star","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codebuild;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeBuild",null,null,this.getTagsForStencil("mxgraph.aws3","codebuild code build","aws group amazon web service dev developer tools").join(" ")),
-this.createVertexTemplateEntry(a+"x_ray;fillColor=#759C3E;gradientColor=none;",76.5,85.5,"","X-Ray",null,null,this.getTagsForStencil("mxgraph.aws3","x ray","aws group amazon web service dev developer tools").join(" "))])};Sidebar.prototype.addAWS3GameDevelopmentPalette=function(){this.addPaletteFunctions("aws3Game Development","AWS / Game Development",!1,[this.createVertexTemplateEntry("dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.gamelift;fillColor=#AD688B;gradientColor=none;",70.5,85.5,
-"","GameLift",null,null,this.getTagsForStencil("mxgraph.aws3","gamelift game lift","aws group amazon web service game development").join(" "))])};Sidebar.prototype.addAWS3GeneralPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3General","AWS / General",!1,[this.createVertexTemplateEntry(a+"management_console;fillColor=#F58534;gradientColor=none;",63,63,"","Management Console",null,null,this.getTagsForStencil("mxgraph.aws3","management console",
-"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"cloud_2;fillColor=#F58534;gradientColor=none;",75,75,"","Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","cloud","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"forums;fillColor=#F58534;gradientColor=none;",85.5,82.5,"","Forums",null,null,this.getTagsForStencil("mxgraph.aws3","forums","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"virtual_private_cloud;fillColor=#F58534;gradientColor=none;",
-79.5,54,"","Virtual Private Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","virtual private cloud vpc","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"management_console;fillColor=#D2D3D3;gradientColor=none;",63,63,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3","client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"mobile_client;fillColor=#D2D3D3;gradientColor=none;",40.5,63,"","Mobile Client",null,null,
-this.getTagsForStencil("mxgraph.aws3","mobile client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"multimedia;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Multimedia",null,null,this.getTagsForStencil("mxgraph.aws3","multimedia","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"user;fillColor=#D2D3D3;gradientColor=none;",45,63,"","User",null,null,this.getTagsForStencil("mxgraph.aws3","user","aws group amazon web service general").join(" ")),
-this.createVertexTemplateEntry(a+"users;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Users",null,null,this.getTagsForStencil("mxgraph.aws3","users","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"tape_storage;fillColor=#7D7C7C;gradientColor=none;",75,39,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.aws3","tape storage","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;",
-46.5,63,"","Corporate Data Center",null,null,this.getTagsForStencil("mxgraph.aws3","corporate data center","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"traditional_server;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Traditional Server",null,null,this.getTagsForStencil("mxgraph.aws3","traditional server","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"disk;fillColor=#7D7C7C;gradientColor=none;",61.5,64.5,"","Disk",null,
-null,this.getTagsForStencil("mxgraph.aws3","disk","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"generic_database;fillColor=#7D7C7C;gradientColor=none;",49.5,64.5,"","Generic Database",null,null,this.getTagsForStencil("mxgraph.aws3","generic database","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet;fillColor=#D2D3D3;gradientColor=none;",79.5,79.5,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet",
-"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_2;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_3;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+
-"office_building;fillColor=#7D7C7C;gradientColor=none;",33,79.5,"","Office Building",null,null,this.getTagsForStencil("mxgraph.aws3","office building","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"saml_token;fillColor=#D2D3D3;gradientColor=none;",69,72,"","SAML Token",null,null,this.getTagsForStencil("mxgraph.aws3","saml token","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"ssl_padlock;fillColor=#D2D3D3;gradientColor=none;",
-63,78,"","SSL Padlock",null,null,this.getTagsForStencil("mxgraph.aws3","ssl padlock","aws group amazon web service general").join(" "))])};Sidebar.prototype.addAWS3GroupsPalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Groups","AWS / Groups",!1,[this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;",199.5,199.5,"","Auto Scaling Group",
-null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling group","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#F59D56;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Availability Zone",null,null,this.getTagsForStencil("mxgraph.aws3","availability zone","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=1 1;strokeWidth=2;",
-199.5,199.5,"","Region",null,null,this.getTagsForStencil("mxgraph.aws3","region","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#ff0000;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws3","security group","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupselastic beanstalk container",
-function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,41),d+"elastic_beanstalk;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Elastic Beanstalk Container")}),this.addEntry("aws group amazon web service group groupsec2 instance container",function(){var e=new mxCell("",new mxGeometry(0,
-20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,41),d+"instance;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"EC2 Instance Container")}),this.addEntry("aws group amazon web service group groupsvpc subnet",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");
-e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,35),d+"permissions;fillColor=#D9A741;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"VPC Subnet")}),this.createVertexTemplateEntry("rounded=1;arcSize=10;strokeColor=none;fillColor=#DBDBDB;gradientColor=none;",199.5,199.5,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws3","server contents","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupsvirtual private cloud",
-function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"virtual_private_cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service group groupscloud",function(){var e=new mxCell("",new mxGeometry(0,20,
-200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"AWS Cloud")}),this.addEntry("aws group amazon web service group groupscorporate data center",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");
-e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,42),d+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Corporate Data Center")})])};Sidebar.prototype.addAWS3InternetOfThingsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Internet of Things","AWS / Internet of Things",!1,[this.createVertexTemplateEntry(a+"aws_iot;fillColor=#5294CF;gradientColor=none;",
-67.5,81,"","AWS IoT",null,null,this.getTagsForStencil("mxgraph.aws3","iot internet of things","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"greengrass;fillColor=#5294CF;gradientColor=none;",76.5,93,"","Greengrass",null,null,this.getTagsForStencil("mxgraph.aws3","greengrass","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"action;fillColor=#5294CF;gradientColor=none;",63,64.5,"","Action",null,null,
-this.getTagsForStencil("mxgraph.aws3","action","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"actuator;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Actuator",null,null,this.getTagsForStencil("mxgraph.aws3","actuator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"certificate;fillColor=#5294CF;gradientColor=none;",63,85.5,"","Certificate",null,null,this.getTagsForStencil("mxgraph.aws3","certificate",
-"aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"desired_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Desired State",null,null,this.getTagsForStencil("mxgraph.aws3","desired state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"hardware_board;fillColor=#5294CF;gradientColor=none;",84,100.5,"","Hardware Board",null,null,this.getTagsForStencil("mxgraph.aws3","hardware board","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"http_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"http_2_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP/2 Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http 2 protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"lambda_function;fillColor=#5294CF;gradientColor=none;",60,63,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"mqtt_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","MQTT Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","mqtt protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"policy;fillColor=#5294CF;gradientColor=none;",
-55.5,90,"","Policy",null,null,this.getTagsForStencil("mxgraph.aws3","policy","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"reported_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Reported State",null,null,this.getTagsForStencil("mxgraph.aws3","reported state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"rule;fillColor=#5294CF;gradientColor=none;",49.5,99,"","Rule",null,null,this.getTagsForStencil("mxgraph.aws3",
-"rule","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"sensor;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Sensor",null,null,this.getTagsForStencil("mxgraph.aws3","sensor","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"servo;fillColor=#5294CF;gradientColor=none;",84,60,"","Servo",null,null,this.getTagsForStencil("mxgraph.aws3","servo","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"shadow;fillColor=#5294CF;gradientColor=none;",85.5,91.5,"","Shadow",null,null,this.getTagsForStencil("mxgraph.aws3","shadow","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"simulator;fillColor=#5294CF;gradientColor=none;",75,78,"","Simulator",null,null,this.getTagsForStencil("mxgraph.aws3","simulator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"topic;fillColor=#5294CF;gradientColor=none;",
-49.5,66,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bank;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bank",null,null,this.getTagsForStencil("mxgraph.aws3","bank","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bicycle;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bicycle",null,null,this.getTagsForStencil("mxgraph.aws3",
-"bicycle","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"camera;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Camera",null,null,this.getTagsForStencil("mxgraph.aws3","camera","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"utility;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Utility",null,null,this.getTagsForStencil("mxgraph.aws3","utility","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"cart;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Cart",null,null,this.getTagsForStencil("mxgraph.aws3","cart","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"car;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Car",null,null,this.getTagsForStencil("mxgraph.aws3","car","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"windfarm;fillColor=#5294CF;gradientColor=none;",
-79.5,79.5,"","Windfarm",null,null,this.getTagsForStencil("mxgraph.aws3","windfarm","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"house;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","House",null,null,this.getTagsForStencil("mxgraph.aws3","house","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"generic;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Generic",null,null,this.getTagsForStencil("mxgraph.aws3",
-"generic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"factory;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Factory",null,null,this.getTagsForStencil("mxgraph.aws3","factory","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"coffee_pot;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Coffee Pot",null,null,this.getTagsForStencil("mxgraph.aws3","coffee pot","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"door_lock;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Door Lock",null,null,this.getTagsForStencil("mxgraph.aws3","door lock","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"lightbulb;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Lightbulb",null,null,this.getTagsForStencil("mxgraph.aws3","lightbulb","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"medical_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Medical Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","medical emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"police_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Police Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","police emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"thermostat;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Thermostat",null,null,this.getTagsForStencil("mxgraph.aws3","thermostat","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"travel;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Travel",null,null,this.getTagsForStencil("mxgraph.aws3","travel","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"echo;fillColor=#205B99;gradientColor=none;",
-40.5,93,"","Echo",null,null,this.getTagsForStencil("mxgraph.aws3","echo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_skill;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_smart_home_skill;fillColor=#5294CF;gradientColor=none;",90,70.5,"","Alexa Smart Home Skill",
-null,null,this.getTagsForStencil("mxgraph.aws3","alexa smart home skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_voice_service;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Voice Service",null,null,this.getTagsForStencil("mxgraph.aws3","alexa voice service","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_enabled_device;fillColor=#5294CF;gradientColor=none;",79.5,79.5,
-"","Alexa Enabled Device",null,null,this.getTagsForStencil("mxgraph.aws3","alexa enabled device","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv;fillColor=#5294CF;gradientColor=none;",75,55.5,"","Fire TV",null,null,this.getTagsForStencil("mxgraph.aws3","fire tv","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv_stick;fillColor=#5294CF;gradientColor=none;",85.5,33,"","Fire TV Stick",
-null,null,this.getTagsForStencil("mxgraph.aws3","fire tv stick","aws group amazon web service iot internet of things").join(" "))])};Sidebar.prototype.addAWS3ManagementToolsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Management Tools","AWS / Management Tools",!1,[this.createVertexTemplateEntry(a+"cloudwatch;fillColor=#759C3E;gradientColor=none;",82.5,93,"","CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudwatch cloud watch",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudformation;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudtrail;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudTrail",null,null,this.getTagsForStencil("mxgraph.aws3","cloudtrail cloud trail","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"config;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Config",null,null,this.getTagsForStencil("mxgraph.aws3","config","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"managed_services;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Managed Services",null,null,this.getTagsForStencil("mxgraph.aws3","managed services","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"opsworks;fillColor=#759C3E;gradientColor=none;",
-76.5,93,"","OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"service_catalog;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Service Catalog",null,null,this.getTagsForStencil("mxgraph.aws3","service catalog","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"trusted_advisor;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Trusted Advisor",
-null,null,this.getTagsForStencil("mxgraph.aws3","trusted advisor","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"alarm;fillColor=#759C3E;gradientColor=none;",54,66,"","Alarm",null,null,this.getTagsForStencil("mxgraph.aws3","alarm","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_time_based;fillColor=#759C3E;gradientColor=none;",63,82.5,"","Event (Time Based)",null,null,this.getTagsForStencil("mxgraph.aws3",
-"event time based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_event_based;fillColor=#759C3E;gradientColor=none;",60,82.5,"","Event (Event Based)",null,null,this.getTagsForStencil("mxgraph.aws3","event based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config_rule;fillColor=#759C3E;gradientColor=none;",55.5,72,"","Config Rule",null,null,this.getTagsForStencil("mxgraph.aws3","config rule","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"automation;fillColor=#759C3E;gradientColor=none;",78,81,"","Automation",null,null,this.getTagsForStencil("mxgraph.aws3","automation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"documents;fillColor=#759C3E;gradientColor=none;",90,100.5,"","Documents",null,null,this.getTagsForStencil("mxgraph.aws3","documents","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"inventory;fillColor=#759C3E;gradientColor=none;",
-90,105,"","Inventory",null,null,this.getTagsForStencil("mxgraph.aws3","inventory","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"maintenance_window;fillColor=#759C3E;gradientColor=none;",75,78,"","Maintenance Window",null,null,this.getTagsForStencil("mxgraph.aws3","maintenance window","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"parameter_store;fillColor=#759C3E;gradientColor=none;",75,102,"","Parameter Store",
-null,null,this.getTagsForStencil("mxgraph.aws3","parameter store","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"patch_manager;fillColor=#759C3E;gradientColor=none;",85.5,90,"","Patch Manager",null,null,this.getTagsForStencil("mxgraph.aws3","patch manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"run_command;fillColor=#759C3E;gradientColor=none;",114,82.5,"","Run Command",null,null,this.getTagsForStencil("mxgraph.aws3",
-"run command","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"state_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","State Manager",null,null,this.getTagsForStencil("mxgraph.aws3","state manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"ec2_systems_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","EC2 Systems Manager",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 systems manager",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_cloudformation;fillColor=#759C3E;gradientColor=none;",73.5,58.5,"","Stack AWS CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","stack cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"change_set;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Change Set",null,null,this.getTagsForStencil("mxgraph.aws3",
-"change set","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"template;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Template",null,null,this.getTagsForStencil("mxgraph.aws3","template","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"apps;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Apps",null,null,this.getTagsForStencil("mxgraph.aws3","apps","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"deployments;fillColor=#759C3E;gradientColor=none;",81,76.5,"","Deployments",null,null,this.getTagsForStencil("mxgraph.aws3","deployments","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"instances_2;fillColor=#759C3E;gradientColor=none;",81,81,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"layers;fillColor=#759C3E;gradientColor=none;",
-81,79.5,"","Layers",null,null,this.getTagsForStencil("mxgraph.aws3","layers","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"monitoring;fillColor=#759C3E;gradientColor=none;",81,67.5,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.aws3","monitoring","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"permissions;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3",
-"permissions","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"resources;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Resources",null,null,this.getTagsForStencil("mxgraph.aws3","resources","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_opsworks;fillColor=#759C3E;gradientColor=none;",79.5,79.5,"","Stack AWS OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","stack opsworks ops works",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Checklist",null,null,this.getTagsForStencil("mxgraph.aws3","checklist","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_cost;fillColor=#759C3E;gradientColor=none;",67.5,75,"","Checklist Cost",null,null,this.getTagsForStencil("mxgraph.aws3","checklist cost","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"checklist_fault_tolerance;fillColor=#759C3E;gradientColor=none;",57,72,"","Checklist Fault Tolerance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist fault tolerance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_performance;fillColor=#759C3E;gradientColor=none;",61.5,73.5,"","Checklist Performance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist performance","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"checklist_security;fillColor=#759C3E;gradientColor=none;",54,69,"","Checklist Security",null,null,this.getTagsForStencil("mxgraph.aws3","checklist security","aws group amazon web service management tools").join(" "))])};Sidebar.prototype.addAWS3MessagingPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Messaging","AWS / Messaging",!1,[this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",
-76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"ses;fillColor=#D9A741;gradientColor=none;",79.5,93,"","SES",null,null,this.getTagsForStencil("mxgraph.aws3","ses","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"sns;fillColor=#D9A741;gradientColor=none;",76.5,76.5,"","SNS",null,null,this.getTagsForStencil("mxgraph.aws3","sns","aws group amazon web service messaging").join(" ")),
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Desktop and App Streaming","AWS / Desktop and App Streaming",!1,[this.createVertexTemplateEntry(a+"appstream;fillColor=#D9A741;gradientColor=none;",76.5,93,"","AppStream",null,null,this.getTagsForStencil("mxgraph.aws3","appstream","aws group amazon web service desktop app streaming application").join(" ")),this.createVertexTemplateEntry(a+
+"workspaces;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkSpaces",null,null,this.getTagsForStencil("mxgraph.aws3","workspaces work spaces","aws group amazon web service desktop app streaming application").join(" "))])};Sidebar.prototype.addAWS3DeveloperToolsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Developer Tools","AWS / Developer Tools",
+!1,[this.createVertexTemplateEntry(a+"codecommit;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeCommit",null,null,this.getTagsForStencil("mxgraph.aws3","codecommit code commit","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codedeploy;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeDeploy",null,null,this.getTagsForStencil("mxgraph.aws3","codedeploy code deploy","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+
+"codepipeline;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodePipeline",null,null,this.getTagsForStencil("mxgraph.aws3","codepipeline code pipeline","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codestar;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeStar",null,null,this.getTagsForStencil("mxgraph.aws3","codestar code star","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codebuild;fillColor=#759C3E;gradientColor=none;",
+76.5,93,"","CodeBuild",null,null,this.getTagsForStencil("mxgraph.aws3","codebuild code build","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"x_ray;fillColor=#759C3E;gradientColor=none;",76.5,85.5,"","X-Ray",null,null,this.getTagsForStencil("mxgraph.aws3","x ray","aws group amazon web service dev developer tools").join(" "))])};Sidebar.prototype.addAWS3GameDevelopmentPalette=function(){this.addPaletteFunctions("aws3Game Development","AWS / Game Development",
+!1,[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.gamelift;fillColor=#AD688B;gradientColor=none;",70.5,85.5,"","GameLift",null,null,this.getTagsForStencil("mxgraph.aws3","gamelift game lift","aws group amazon web service game development").join(" "))])};Sidebar.prototype.addAWS3GeneralPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+
+"=mxgraph.aws3.";this.addPaletteFunctions("aws3General","AWS / General",!1,[this.createVertexTemplateEntry(a+"management_console;fillColor=#F58534;gradientColor=none;",63,63,"","Management Console",null,null,this.getTagsForStencil("mxgraph.aws3","management console","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"cloud_2;fillColor=#F58534;gradientColor=none;",75,75,"","Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","cloud","aws group amazon web service general").join(" ")),
+this.createVertexTemplateEntry(a+"forums;fillColor=#F58534;gradientColor=none;",85.5,82.5,"","Forums",null,null,this.getTagsForStencil("mxgraph.aws3","forums","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"virtual_private_cloud;fillColor=#F58534;gradientColor=none;",79.5,54,"","Virtual Private Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","virtual private cloud vpc","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"management_console;fillColor=#D2D3D3;gradientColor=none;",
+63,63,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3","client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"mobile_client;fillColor=#D2D3D3;gradientColor=none;",40.5,63,"","Mobile Client",null,null,this.getTagsForStencil("mxgraph.aws3","mobile client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"multimedia;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Multimedia",null,null,this.getTagsForStencil("mxgraph.aws3",
+"multimedia","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"user;fillColor=#D2D3D3;gradientColor=none;",45,63,"","User",null,null,this.getTagsForStencil("mxgraph.aws3","user","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Users",null,null,this.getTagsForStencil("mxgraph.aws3","users","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"tape_storage;fillColor=#7D7C7C;gradientColor=none;",
+75,39,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.aws3","tape storage","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Corporate Data Center",null,null,this.getTagsForStencil("mxgraph.aws3","corporate data center","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"traditional_server;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Traditional Server",
+null,null,this.getTagsForStencil("mxgraph.aws3","traditional server","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"disk;fillColor=#7D7C7C;gradientColor=none;",61.5,64.5,"","Disk",null,null,this.getTagsForStencil("mxgraph.aws3","disk","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"generic_database;fillColor=#7D7C7C;gradientColor=none;",49.5,64.5,"","Generic Database",null,null,this.getTagsForStencil("mxgraph.aws3","generic database",
+"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet;fillColor=#D2D3D3;gradientColor=none;",79.5,79.5,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_2;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+
+"internet_3;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"office_building;fillColor=#7D7C7C;gradientColor=none;",33,79.5,"","Office Building",null,null,this.getTagsForStencil("mxgraph.aws3","office building","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"saml_token;fillColor=#D2D3D3;gradientColor=none;",
+69,72,"","SAML Token",null,null,this.getTagsForStencil("mxgraph.aws3","saml token","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"ssl_padlock;fillColor=#D2D3D3;gradientColor=none;",63,78,"","SSL Padlock",null,null,this.getTagsForStencil("mxgraph.aws3","ssl padlock","aws group amazon web service general").join(" "))])};Sidebar.prototype.addAWS3GroupsPalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Groups",
+"AWS / Groups",!1,[this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;",199.5,199.5,"","Auto Scaling Group",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling group","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#F59D56;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Availability Zone",
+null,null,this.getTagsForStencil("mxgraph.aws3","availability zone","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=1 1;strokeWidth=2;",199.5,199.5,"","Region",null,null,this.getTagsForStencil("mxgraph.aws3","region","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#ff0000;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",
+199.5,199.5,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws3","security group","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupselastic beanstalk container",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,41),d+"elastic_beanstalk;fillColor=#F58536;gradientColor=none;dashed=0;");
+b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Elastic Beanstalk Container")}),this.addEntry("aws group amazon web service group groupsec2 instance container",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,41),d+"instance;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,
+b],200,220,"EC2 Instance Container")}),this.addEntry("aws group amazon web service group groupsvpc subnet",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,35),d+"permissions;fillColor=#D9A741;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"VPC Subnet")}),this.createVertexTemplateEntry("rounded=1;arcSize=10;strokeColor=none;fillColor=#DBDBDB;gradientColor=none;",
+199.5,199.5,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws3","server contents","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupsvirtual private cloud",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"virtual_private_cloud;fillColor=#F58536;gradientColor=none;dashed=0;");
+b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service group groupscloud",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"AWS Cloud")}),
+this.addEntry("aws group amazon web service group groupscorporate data center",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,42),d+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Corporate Data Center")})])};Sidebar.prototype.addAWS3InternetOfThingsPalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Internet of Things","AWS / Internet of Things",!1,[this.createVertexTemplateEntry(a+"aws_iot;fillColor=#5294CF;gradientColor=none;",67.5,81,"","AWS IoT",null,null,this.getTagsForStencil("mxgraph.aws3","iot internet of things","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"greengrass;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Greengrass",null,null,this.getTagsForStencil("mxgraph.aws3","greengrass","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"action;fillColor=#5294CF;gradientColor=none;",63,64.5,"","Action",null,null,this.getTagsForStencil("mxgraph.aws3","action","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"actuator;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Actuator",null,null,this.getTagsForStencil("mxgraph.aws3",
+"actuator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"certificate;fillColor=#5294CF;gradientColor=none;",63,85.5,"","Certificate",null,null,this.getTagsForStencil("mxgraph.aws3","certificate","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"desired_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Desired State",null,null,this.getTagsForStencil("mxgraph.aws3","desired state","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"hardware_board;fillColor=#5294CF;gradientColor=none;",84,100.5,"","Hardware Board",null,null,this.getTagsForStencil("mxgraph.aws3","hardware board","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"http_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
+"http_2_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP/2 Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http 2 protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"lambda_function;fillColor=#5294CF;gradientColor=none;",60,63,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"mqtt_protocol;fillColor=#5294CF;gradientColor=none;",
+63,66,"","MQTT Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","mqtt protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"policy;fillColor=#5294CF;gradientColor=none;",55.5,90,"","Policy",null,null,this.getTagsForStencil("mxgraph.aws3","policy","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"reported_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Reported State",null,null,
+this.getTagsForStencil("mxgraph.aws3","reported state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"rule;fillColor=#5294CF;gradientColor=none;",49.5,99,"","Rule",null,null,this.getTagsForStencil("mxgraph.aws3","rule","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"sensor;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Sensor",null,null,this.getTagsForStencil("mxgraph.aws3","sensor","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"servo;fillColor=#5294CF;gradientColor=none;",84,60,"","Servo",null,null,this.getTagsForStencil("mxgraph.aws3","servo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"shadow;fillColor=#5294CF;gradientColor=none;",85.5,91.5,"","Shadow",null,null,this.getTagsForStencil("mxgraph.aws3","shadow","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"simulator;fillColor=#5294CF;gradientColor=none;",
+75,78,"","Simulator",null,null,this.getTagsForStencil("mxgraph.aws3","simulator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"topic;fillColor=#5294CF;gradientColor=none;",49.5,66,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bank;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bank",null,null,this.getTagsForStencil("mxgraph.aws3",
+"bank","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bicycle;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bicycle",null,null,this.getTagsForStencil("mxgraph.aws3","bicycle","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"camera;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Camera",null,null,this.getTagsForStencil("mxgraph.aws3","camera","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"utility;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Utility",null,null,this.getTagsForStencil("mxgraph.aws3","utility","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"cart;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Cart",null,null,this.getTagsForStencil("mxgraph.aws3","cart","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"car;fillColor=#5294CF;gradientColor=none;",
+79.5,79.5,"","Car",null,null,this.getTagsForStencil("mxgraph.aws3","car","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"windfarm;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Windfarm",null,null,this.getTagsForStencil("mxgraph.aws3","windfarm","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"house;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","House",null,null,this.getTagsForStencil("mxgraph.aws3",
+"house","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"generic;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Generic",null,null,this.getTagsForStencil("mxgraph.aws3","generic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"factory;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Factory",null,null,this.getTagsForStencil("mxgraph.aws3","factory","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"coffee_pot;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Coffee Pot",null,null,this.getTagsForStencil("mxgraph.aws3","coffee pot","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"door_lock;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Door Lock",null,null,this.getTagsForStencil("mxgraph.aws3","door lock","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
+"lightbulb;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Lightbulb",null,null,this.getTagsForStencil("mxgraph.aws3","lightbulb","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"medical_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Medical Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","medical emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"police_emergency;fillColor=#5294CF;gradientColor=none;",
+79.5,79.5,"","Police Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","police emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"thermostat;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Thermostat",null,null,this.getTagsForStencil("mxgraph.aws3","thermostat","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"travel;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Travel",
+null,null,this.getTagsForStencil("mxgraph.aws3","travel","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"echo;fillColor=#205B99;gradientColor=none;",40.5,93,"","Echo",null,null,this.getTagsForStencil("mxgraph.aws3","echo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_skill;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa skill",
+"aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_smart_home_skill;fillColor=#5294CF;gradientColor=none;",90,70.5,"","Alexa Smart Home Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa smart home skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_voice_service;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Voice Service",null,null,this.getTagsForStencil("mxgraph.aws3",
+"alexa voice service","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_enabled_device;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Alexa Enabled Device",null,null,this.getTagsForStencil("mxgraph.aws3","alexa enabled device","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv;fillColor=#5294CF;gradientColor=none;",75,55.5,"","Fire TV",null,null,this.getTagsForStencil("mxgraph.aws3",
+"fire tv","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv_stick;fillColor=#5294CF;gradientColor=none;",85.5,33,"","Fire TV Stick",null,null,this.getTagsForStencil("mxgraph.aws3","fire tv stick","aws group amazon web service iot internet of things").join(" "))])};Sidebar.prototype.addAWS3ManagementToolsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";
+this.addPaletteFunctions("aws3Management Tools","AWS / Management Tools",!1,[this.createVertexTemplateEntry(a+"cloudwatch;fillColor=#759C3E;gradientColor=none;",82.5,93,"","CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudwatch cloud watch","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudformation;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","cloudformation cloud formation",
+"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudtrail;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudTrail",null,null,this.getTagsForStencil("mxgraph.aws3","cloudtrail cloud trail","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Config",null,null,this.getTagsForStencil("mxgraph.aws3","config","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"managed_services;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Managed Services",null,null,this.getTagsForStencil("mxgraph.aws3","managed services","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"opsworks;fillColor=#759C3E;gradientColor=none;",76.5,93,"","OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+
+"service_catalog;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Service Catalog",null,null,this.getTagsForStencil("mxgraph.aws3","service catalog","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"trusted_advisor;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Trusted Advisor",null,null,this.getTagsForStencil("mxgraph.aws3","trusted advisor","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"alarm;fillColor=#759C3E;gradientColor=none;",
+54,66,"","Alarm",null,null,this.getTagsForStencil("mxgraph.aws3","alarm","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_time_based;fillColor=#759C3E;gradientColor=none;",63,82.5,"","Event (Time Based)",null,null,this.getTagsForStencil("mxgraph.aws3","event time based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_event_based;fillColor=#759C3E;gradientColor=none;",60,82.5,"","Event (Event Based)",
+null,null,this.getTagsForStencil("mxgraph.aws3","event based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config_rule;fillColor=#759C3E;gradientColor=none;",55.5,72,"","Config Rule",null,null,this.getTagsForStencil("mxgraph.aws3","config rule","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"automation;fillColor=#759C3E;gradientColor=none;",78,81,"","Automation",null,null,this.getTagsForStencil("mxgraph.aws3",
+"automation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"documents;fillColor=#759C3E;gradientColor=none;",90,100.5,"","Documents",null,null,this.getTagsForStencil("mxgraph.aws3","documents","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"inventory;fillColor=#759C3E;gradientColor=none;",90,105,"","Inventory",null,null,this.getTagsForStencil("mxgraph.aws3","inventory","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"maintenance_window;fillColor=#759C3E;gradientColor=none;",75,78,"","Maintenance Window",null,null,this.getTagsForStencil("mxgraph.aws3","maintenance window","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"parameter_store;fillColor=#759C3E;gradientColor=none;",75,102,"","Parameter Store",null,null,this.getTagsForStencil("mxgraph.aws3","parameter store","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+
+"patch_manager;fillColor=#759C3E;gradientColor=none;",85.5,90,"","Patch Manager",null,null,this.getTagsForStencil("mxgraph.aws3","patch manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"run_command;fillColor=#759C3E;gradientColor=none;",114,82.5,"","Run Command",null,null,this.getTagsForStencil("mxgraph.aws3","run command","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"state_manager;fillColor=#759C3E;gradientColor=none;",
+79.5,82.5,"","State Manager",null,null,this.getTagsForStencil("mxgraph.aws3","state manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"ec2_systems_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","EC2 Systems Manager",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 systems manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_cloudformation;fillColor=#759C3E;gradientColor=none;",
+73.5,58.5,"","Stack AWS CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","stack cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"change_set;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Change Set",null,null,this.getTagsForStencil("mxgraph.aws3","change set","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"template;fillColor=#759C3E;gradientColor=none;",55.5,
+64.5,"","Template",null,null,this.getTagsForStencil("mxgraph.aws3","template","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"apps;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Apps",null,null,this.getTagsForStencil("mxgraph.aws3","apps","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployments;fillColor=#759C3E;gradientColor=none;",81,76.5,"","Deployments",null,null,this.getTagsForStencil("mxgraph.aws3",
+"deployments","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"instances_2;fillColor=#759C3E;gradientColor=none;",81,81,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"layers;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Layers",null,null,this.getTagsForStencil("mxgraph.aws3","layers","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"monitoring;fillColor=#759C3E;gradientColor=none;",81,67.5,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.aws3","monitoring","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"permissions;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"resources;fillColor=#759C3E;gradientColor=none;",
+67.5,79.5,"","Resources",null,null,this.getTagsForStencil("mxgraph.aws3","resources","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_opsworks;fillColor=#759C3E;gradientColor=none;",79.5,79.5,"","Stack AWS OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","stack opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"",
+"Checklist",null,null,this.getTagsForStencil("mxgraph.aws3","checklist","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_cost;fillColor=#759C3E;gradientColor=none;",67.5,75,"","Checklist Cost",null,null,this.getTagsForStencil("mxgraph.aws3","checklist cost","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_fault_tolerance;fillColor=#759C3E;gradientColor=none;",57,72,"","Checklist Fault Tolerance",
+null,null,this.getTagsForStencil("mxgraph.aws3","checklist fault tolerance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_performance;fillColor=#759C3E;gradientColor=none;",61.5,73.5,"","Checklist Performance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist performance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_security;fillColor=#759C3E;gradientColor=none;",54,69,"",
+"Checklist Security",null,null,this.getTagsForStencil("mxgraph.aws3","checklist security","aws group amazon web service management tools").join(" "))])};Sidebar.prototype.addAWS3MessagingPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Messaging","AWS / Messaging",!1,[this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,
+null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"ses;fillColor=#D9A741;gradientColor=none;",79.5,93,"","SES",null,null,this.getTagsForStencil("mxgraph.aws3","ses","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"sns;fillColor=#D9A741;gradientColor=none;",76.5,76.5,"","SNS",null,null,this.getTagsForStencil("mxgraph.aws3","sns","aws group amazon web service messaging").join(" ")),
 this.createVertexTemplateEntry(a+"sqs;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SQS",null,null,this.getTagsForStencil("mxgraph.aws3","sqs","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"email;fillColor=#D9A741;gradientColor=none;",81,61.5,"","Email",null,null,this.getTagsForStencil("mxgraph.aws3","email","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"message;fillColor=#D9A741;gradientColor=none;",42,49.5,"","Message",
 null,null,this.getTagsForStencil("mxgraph.aws3","message","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"queue;fillColor=#D9A741;gradientColor=none;",73.5,48,"","Queue",null,null,this.getTagsForStencil("mxgraph.aws3","queue","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"email_notification;fillColor=#D9A741;gradientColor=none;",100.5,63,"","Email Notification",null,null,this.getTagsForStencil("mxgraph.aws3","email notification",
 "aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"http_notification;fillColor=#D9A741;gradientColor=none;",100.5,63,"","HTTP Notification",null,null,this.getTagsForStencil("mxgraph.aws3","http notification","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"topic_2;fillColor=#D9A741;gradientColor=none;",93,58.5,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service messaging").join(" "))])};
-Sidebar.prototype.addAWS3MigrationPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Migration","AWS / Migration",!1,[this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"server_migration_service;fillColor=#5294CF;gradientColor=none;",76.5,
-93,"","Server Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","server migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","Import Export","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#5294CF;gradientColor=none;",72,81,"",
-"Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#5294CF;gradientColor=none;",46.5,87,"","Database Migration Workflow Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"application_discovery_service;fillColor=#5294CF;gradientColor=none;",
-76.5,93,"","Application Discovery Service",null,null,this.getTagsForStencil("mxgraph.aws3","application discovery service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"migration_hub_2;fillColor=#ABABAB;gradientColor=none;",114,121.5,"","Migration Hub",null,null,this.getTagsForStencil("mxgraph.aws3","migration hub","aws group amazon web service migration").join(" "))])};Sidebar.prototype.addAWS3MobileServicesPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+
-"=mxgraph.aws3.";this.addPaletteFunctions("aws3Mobile Services","AWS / Mobile Services",!1,[this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"cognito;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Cognito",null,null,this.getTagsForStencil("mxgraph.aws3","cognito","aws group amazon web service mobile services").join(" ")),
-this.createVertexTemplateEntry(a+"mobile_analytics;fillColor=#AD688B;gradientColor=none;",90,93,"","Mobile Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","mobile analytics","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"device_farm;fillColor=#AD688B;gradientColor=none;",
-76.5,93,"","Device Farm",null,null,this.getTagsForStencil("mxgraph.aws3","device farm","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_hub;fillColor=#AD688A;gradientColor=#F58435;gradientDirection=west;",75,81,"","Mobile Hub",null,null,this.getTagsForStencil("mxgraph.aws3","mobile hub","aws group amazon web service mobile services").join(" "))])};Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+
-"=mxgraph.aws3.";this.addPaletteFunctions("aws3Networking and Content Delivery","AWS / Network and Content Delivery",!1,[this.createVertexTemplateEntry(a+"cloudfront;fillColor=#F58536;gradientColor=none;",76.5,93,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3","cloudfront cloud front","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_53;fillColor=#F58536;gradientColor=none;",70.5,85.5,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws3",
-"route 53","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc;fillColor=#F58536;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3",
-"network access controllist","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_load_balancing;fillColor=#F58536;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"direct_connect;fillColor=#F58536;gradientColor=none;",67.5,81,"","Direct Connect",null,null,
-this.getTagsForStencil("mxgraph.aws3","direct connect","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"hosted_zone;fillColor=#F58536;gradientColor=none;",63,64.5,"","Hosted Zone",null,null,this.getTagsForStencil("mxgraph.aws3","hosted zone","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_table;fillColor=#F58536;gradientColor=none;",75,69,"","Route Table",null,null,this.getTagsForStencil("mxgraph.aws3",
-"route table","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"customer_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"endpoints;fillColor=#F58536;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints",
-"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"flow_logs;fillColor=#F58536;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"internet_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"router;fillColor=#F58536;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_nat_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"vpc_peering;fillColor=#F58536;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_connection;fillColor=#F58536;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"vpn_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"classic_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"elastic_network_adapter;fillColor=#F58536;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_interface;fillColor=#F58536;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"application_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"streaming_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Streaming Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","streaming distribution","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"download_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Download Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","download distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"edge_location;fillColor=#F58536;gradientColor=none;",58.5,64.5,"","Edge Location",null,null,this.getTagsForStencil("mxgraph.aws3","edge location","aws group amazon web service network and content delivery").join(" "))])};
-Sidebar.prototype.addAWS3OnDemandWorkforcePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3On Demand Workforce","AWS / On-Demand Workforce",!1,[this.createVertexTemplateEntry(a+"mechanical_turk;fillColor=#ACACAC;gradientColor=none;",67.5,81,"","Mechanical Turk",null,null,this.getTagsForStencil("mxgraph.aws3","mechanical turk","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;",
-52.5,55.5,"","Human Intelligence Tasks HIT",null,null,this.getTagsForStencil("mxgraph.aws3","human intelligence tasks hit","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"requester;fillColor=#ACACAC;gradientColor=none;",55.5,64.5,"","Requester",null,null,this.getTagsForStencil("mxgraph.aws3","requester","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#ACACAC;gradientColor=none;",66,63,
-"","Workers",null,null,this.getTagsForStencil("mxgraph.aws3","workers","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"assignment_task;fillColor=#ACACAC;gradientColor=none;",46.5,63,"","Assignment/Task",null,null,this.getTagsForStencil("mxgraph.aws3","assignment task","aws group amazon web service on demand workforce").join(" "))])};Sidebar.prototype.addAWS3SDKPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3SDKs",
-"AWS / SDK",!1,[this.createVertexTemplateEntry(a+"android;fillColor=#96BF3D;gradientColor=none;",73.5,84,"","Android",null,null,this.getTagsForStencil("mxgraph.aws3","android","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"cli;fillColor=#444444;gradientColor=none;",72,82.5,"","CLI",null,null,this.getTagsForStencil("mxgraph.aws3","cli","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
-"toolkit_for_eclipse;fillColor=#342074;gradientColor=none;",70.5,78,"","Toolkit for Eclipse",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for eclipse","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;",70.5,78,"","Toolkit for Visual Studio",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for visual studio","aws group amazon web service sdk software development kit").join(" ")),
-this.createVertexTemplateEntry(a+"toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;",70.5,78,"","Toolkit for Windows PowerShell",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for windows powershell","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#CFCFCF;gradientColor=none;",73.5,84,"","iOS",null,null,this.getTagsForStencil("mxgraph.aws3","ios","aws group amazon web service sdk software development kit").join(" ")),
-this.createVertexTemplateEntry(a+"android;fillColor=#AE1F23;gradientColor=none;",73.5,84,"","Ruby",null,null,this.getTagsForStencil("mxgraph.aws3","ruby","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFD44F;gradientColor=none;",73.5,84,"","Python (boto)",null,null,this.getTagsForStencil("mxgraph.aws3","python boto","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
-"android;fillColor=#5A69A4;gradientColor=none;",73.5,84,"","PHP",null,null,this.getTagsForStencil("mxgraph.aws3","php","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#115193;gradientColor=none;",73.5,84,"",".NET",null,null,this.getTagsForStencil("mxgraph.aws3","dot net dotnet","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#205E00;gradientColor=none;",
-73.5,84,"","JavaScript",null,null,this.getTagsForStencil("mxgraph.aws3","js javascript","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#EE472A;gradientColor=none;",73.5,84,"","Java",null,null,this.getTagsForStencil("mxgraph.aws3","java","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#4090D7;gradientColor=none;",73.5,84,"","Xamarin",null,null,this.getTagsForStencil("mxgraph.aws3",
-"xamarin","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#8CC64F;gradientColor=none;",73.5,84,"","Node.js",null,null,this.getTagsForStencil("mxgraph.aws3","node js nodejs","aws group amazon web service sdk software development kit").join(" "))])};Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Security Identity and Compliance",
-"AWS / Security Identity and Compliance",!1,[this.createVertexTemplateEntry(a+"inspector;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Inspector",null,null,this.getTagsForStencil("mxgraph.aws3","inspector","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"macie;fillColor=#34BBC9;gradientColor=none;",133.5,54,"","Macie",null,null,this.getTagsForStencil("mxgraph.aws3","macie","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"artifact;fillColor=#759C3E;gradientColor=none;",75,90,"","Artifact",null,null,this.getTagsForStencil("mxgraph.aws3","artifact","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager;fillColor=#759C3E;gradientColor=none;",76.5,61.5,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"cloudhsm;fillColor=#759C3E;gradientColor=none;",73.5,84,"","CloudHSM",null,null,this.getTagsForStencil("mxgraph.aws3","cloudhsm cloud hsm","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"directory_service;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Directory Service",null,null,this.getTagsForStencil("mxgraph.aws3","directory service","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"iam;fillColor=#759C3E;gradientColor=none;",42,81,"","IAM",null,null,this.getTagsForStencil("mxgraph.aws3","iam","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"kms;fillColor=#759C3E;gradientColor=none;",76.5,93,"","KMS",null,null,this.getTagsForStencil("mxgraph.aws3","kms","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"shield;fillColor=#759C3E;gradientColor=none;",
-76.5,70.5,"","Shield",null,null,this.getTagsForStencil("mxgraph.aws3","shield","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"organizations;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Organizations",null,null,this.getTagsForStencil("mxgraph.aws3","organizations","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"waf;fillColor=#759C3E;gradientColor=none;",76.5,93,"","WAF",
-null,null,this.getTagsForStencil("mxgraph.aws3","waf","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"agent;fillColor=#759C3E;gradientColor=none;",69,72,"","Agent",null,null,this.getTagsForStencil("mxgraph.aws3","agent","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager_2;fillColor=#759C3E;gradientColor=none;",73.5,63,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3",
-"certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"clouddirectory;fillColor=#759C3E;gradientColor=none;",102,109.5,"","CloudDirectory",null,null,this.getTagsForStencil("mxgraph.aws3","cloud directory","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"add_on;fillColor=#759C3E;gradientColor=none;",49.5,27,"","Add-On",null,null,this.getTagsForStencil("mxgraph.aws3",
-"add on","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts;fillColor=#759C3E;gradientColor=none;",61.5,34.5,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts_2;fillColor=#759C3E;gradientColor=none;",46.5,60,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"data_encryption_key;fillColor=#7D7C7C;gradientColor=none;",46.5,60,"","Data Encryption Key",null,null,this.getTagsForStencil("mxgraph.aws3","data encryption key","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"encrypted_data;fillColor=#7D7C7C;gradientColor=none;",43.5,55.5,"","Encrypted Data",null,null,this.getTagsForStencil("mxgraph.aws3","encrypted data","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"long_term_security_credential;fillColor=#ffffff;gradientColor=none;",60,48,"","Long Term Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","long term security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"mfa_token;fillColor=#7D7C7C;gradientColor=none;",61.5,61.5,"","MFA Token",null,null,this.getTagsForStencil("mxgraph.aws3","mfa token","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"permissions_2;fillColor=#D2D3D3;gradientColor=none;",46.5,63,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"role;fillColor=#759C3E;gradientColor=none;",94.5,79.5,"","Role",null,null,this.getTagsForStencil("mxgraph.aws3","role","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
-"temporary_security_credential;fillColor=#ffffff;gradientColor=none;",67.5,60,"","Temporary Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","temporary security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"filtering_rule;fillColor=#759C3E;gradientColor=none;",69,72,"","Filtering Rule",null,null,this.getTagsForStencil("mxgraph.aws3","filtering rule","aws group amazon web service security and identity compliance").join(" "))])};
-Sidebar.prototype.addAWS3StoragePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Storage","AWS / Storage",!1,[this.createVertexTemplateEntry(a+"s3;fillColor=#E05243;gradientColor=none;",76.5,93,"","S3",null,null,this.getTagsForStencil("mxgraph.aws3","s3","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"glacier;fillColor=#E05243;gradientColor=none;",76.5,93,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws3",
-"glacier","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"storage_gateway;fillColor=#E05243;gradientColor=none;",76.5,93,"","Storage Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","storage gateway","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs;fillColor=#E05243;gradientColor=none;",76.5,93,"","EFS",null,null,this.getTagsForStencil("mxgraph.aws3","efs","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
-"archive;fillColor=#E05243;gradientColor=none;",57,75,"","Archive",null,null,this.getTagsForStencil("mxgraph.aws3","archive","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"vault;fillColor=#E05243;gradientColor=none;",54,75,"","Vault",null,null,this.getTagsForStencil("mxgraph.aws3","vault","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket",null,null,this.getTagsForStencil("mxgraph.aws3",
-"bucket","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket_with_objects;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket with Objects",null,null,this.getTagsForStencil("mxgraph.aws3","bucket with objects","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"object;fillColor=#E05243;gradientColor=none;",42,45,"","Object",null,null,this.getTagsForStencil("mxgraph.aws3","object","aws group amazon web service storage").join(" ")),
-this.createVertexTemplateEntry(a+"virtual_tape_library;fillColor=#E05243;gradientColor=none;",60,73.5,"","Virtual Tape Library",null,null,this.getTagsForStencil("mxgraph.aws3","virtual tape library","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
-"non_cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Non-Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","non cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snapshot;fillColor=#E05243;gradientColor=none;",60,73.5,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws3","snapshot","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",
-52.5,75,"","Volume",null,null,this.getTagsForStencil("mxgraph.aws3","volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs_share;fillColor=#E05243;gradientColor=none;",69,63,"","EFS Share",null,null,this.getTagsForStencil("mxgraph.aws3","efs share",
-"aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","import export","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3","ebs","aws group amazon web service storage").join(" "))])}})();(function(){Sidebar.prototype.addAWS3DPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=1;dashed=0;shape=mxgraph.aws3d.";this.addPaletteFunctions("aws3d","AWS 3D",!1,[this.createVertexTemplateEntry(a+"ami;aspect=fixed;fillColor=#E8CA45;strokeColor=#FFF215;",92,60,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
+Sidebar.prototype.addAWS3MigrationPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Migration","AWS / Migration",!1,[this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"server_migration_service;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Server Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","server migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","Import Export","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#5294CF;gradientColor=none;",72,81,
+"","Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#5294CF;gradientColor=none;",46.5,87,"","Database Migration Workflow Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"application_discovery_service;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Application Discovery Service",null,null,this.getTagsForStencil("mxgraph.aws3","application discovery service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"migration_hub_2;fillColor=#ABABAB;gradientColor=none;",114,121.5,"","Migration Hub",null,null,this.getTagsForStencil("mxgraph.aws3","migration hub","aws group amazon web service migration").join(" "))])};Sidebar.prototype.addAWS3MobileServicesPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+
+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Mobile Services","AWS / Mobile Services",!1,[this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"cognito;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Cognito",null,null,this.getTagsForStencil("mxgraph.aws3","cognito",
+"aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_analytics;fillColor=#AD688B;gradientColor=none;",90,93,"","Mobile Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","mobile analytics","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service mobile services").join(" ")),
+this.createVertexTemplateEntry(a+"device_farm;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Device Farm",null,null,this.getTagsForStencil("mxgraph.aws3","device farm","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_hub;fillColor=#AD688A;gradientColor=#F58435;gradientDirection=west;",75,81,"","Mobile Hub",null,null,this.getTagsForStencil("mxgraph.aws3","mobile hub","aws group amazon web service mobile services").join(" "))])};Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Networking and Content Delivery","AWS / Network and Content Delivery",!1,[this.createVertexTemplateEntry(a+"cloudfront;fillColor=#F58536;gradientColor=none;",76.5,93,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3","cloudfront cloud front","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+
+"route_53;fillColor=#F58536;gradientColor=none;",70.5,85.5,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws3","route 53","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc;fillColor=#F58536;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"network_access_controllist;fillColor=#F58534;gradientColor=none;",
+69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_load_balancing;fillColor=#F58536;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"direct_connect;fillColor=#F58536;gradientColor=none;",
+67.5,81,"","Direct Connect",null,null,this.getTagsForStencil("mxgraph.aws3","direct connect","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"hosted_zone;fillColor=#F58536;gradientColor=none;",63,64.5,"","Hosted Zone",null,null,this.getTagsForStencil("mxgraph.aws3","hosted zone","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_table;fillColor=#F58536;gradientColor=none;",75,69,"",
+"Route Table",null,null,this.getTagsForStencil("mxgraph.aws3","route table","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"customer_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"endpoints;fillColor=#F58536;gradientColor=none;",69,72,"","Endpoints",
+null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"flow_logs;fillColor=#F58536;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"internet_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3",
+"internet gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"router;fillColor=#F58536;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_nat_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_peering;fillColor=#F58536;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_connection;fillColor=#F58536;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"classic_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_adapter;fillColor=#F58536;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_interface;fillColor=#F58536;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3",
+"elastic network interface","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"application_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"streaming_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Streaming Distribution",
+null,null,this.getTagsForStencil("mxgraph.aws3","streaming distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"download_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Download Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","download distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"edge_location;fillColor=#F58536;gradientColor=none;",
+58.5,64.5,"","Edge Location",null,null,this.getTagsForStencil("mxgraph.aws3","edge location","aws group amazon web service network and content delivery").join(" "))])};Sidebar.prototype.addAWS3OnDemandWorkforcePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3On Demand Workforce","AWS / On-Demand Workforce",!1,[this.createVertexTemplateEntry(a+"mechanical_turk;fillColor=#ACACAC;gradientColor=none;",
+67.5,81,"","Mechanical Turk",null,null,this.getTagsForStencil("mxgraph.aws3","mechanical turk","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;",52.5,55.5,"","Human Intelligence Tasks HIT",null,null,this.getTagsForStencil("mxgraph.aws3","human intelligence tasks hit","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"requester;fillColor=#ACACAC;gradientColor=none;",
+55.5,64.5,"","Requester",null,null,this.getTagsForStencil("mxgraph.aws3","requester","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#ACACAC;gradientColor=none;",66,63,"","Workers",null,null,this.getTagsForStencil("mxgraph.aws3","workers","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"assignment_task;fillColor=#ACACAC;gradientColor=none;",46.5,63,"","Assignment/Task",null,null,this.getTagsForStencil("mxgraph.aws3",
+"assignment task","aws group amazon web service on demand workforce").join(" "))])};Sidebar.prototype.addAWS3SDKPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3SDKs","AWS / SDK",!1,[this.createVertexTemplateEntry(a+"android;fillColor=#96BF3D;gradientColor=none;",73.5,84,"","Android",null,null,this.getTagsForStencil("mxgraph.aws3","android","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"cli;fillColor=#444444;gradientColor=none;",72,82.5,"","CLI",null,null,this.getTagsForStencil("mxgraph.aws3","cli","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_eclipse;fillColor=#342074;gradientColor=none;",70.5,78,"","Toolkit for Eclipse",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for eclipse","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
+"toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;",70.5,78,"","Toolkit for Visual Studio",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for visual studio","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;",70.5,78,"","Toolkit for Windows PowerShell",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for windows powershell","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"android;fillColor=#CFCFCF;gradientColor=none;",73.5,84,"","iOS",null,null,this.getTagsForStencil("mxgraph.aws3","ios","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#AE1F23;gradientColor=none;",73.5,84,"","Ruby",null,null,this.getTagsForStencil("mxgraph.aws3","ruby","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFD44F;gradientColor=none;",
+73.5,84,"","Python (boto)",null,null,this.getTagsForStencil("mxgraph.aws3","python boto","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#5A69A4;gradientColor=none;",73.5,84,"","PHP",null,null,this.getTagsForStencil("mxgraph.aws3","php","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#115193;gradientColor=none;",73.5,84,"",".NET",null,null,this.getTagsForStencil("mxgraph.aws3",
+"dot net dotnet","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#205E00;gradientColor=none;",73.5,84,"","JavaScript",null,null,this.getTagsForStencil("mxgraph.aws3","js javascript","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#EE472A;gradientColor=none;",73.5,84,"","Java",null,null,this.getTagsForStencil("mxgraph.aws3","java","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"android;fillColor=#4090D7;gradientColor=none;",73.5,84,"","Xamarin",null,null,this.getTagsForStencil("mxgraph.aws3","xamarin","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#8CC64F;gradientColor=none;",73.5,84,"","Node.js",null,null,this.getTagsForStencil("mxgraph.aws3","node js nodejs","aws group amazon web service sdk software development kit").join(" "))])};Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Security Identity and Compliance","AWS / Security Identity and Compliance",!1,[this.createVertexTemplateEntry(a+"inspector;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Inspector",null,null,this.getTagsForStencil("mxgraph.aws3","inspector","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
+"macie;fillColor=#34BBC9;gradientColor=none;",133.5,54,"","Macie",null,null,this.getTagsForStencil("mxgraph.aws3","macie","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"artifact;fillColor=#759C3E;gradientColor=none;",75,90,"","Artifact",null,null,this.getTagsForStencil("mxgraph.aws3","artifact","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager;fillColor=#759C3E;gradientColor=none;",
+76.5,61.5,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"cloudhsm;fillColor=#759C3E;gradientColor=none;",73.5,84,"","CloudHSM",null,null,this.getTagsForStencil("mxgraph.aws3","cloudhsm cloud hsm","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"directory_service;fillColor=#759C3E;gradientColor=none;",
+67.5,81,"","Directory Service",null,null,this.getTagsForStencil("mxgraph.aws3","directory service","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"iam;fillColor=#759C3E;gradientColor=none;",42,81,"","IAM",null,null,this.getTagsForStencil("mxgraph.aws3","iam","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"kms;fillColor=#759C3E;gradientColor=none;",76.5,93,"","KMS",null,null,
+this.getTagsForStencil("mxgraph.aws3","kms","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"shield;fillColor=#759C3E;gradientColor=none;",76.5,70.5,"","Shield",null,null,this.getTagsForStencil("mxgraph.aws3","shield","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"organizations;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Organizations",null,null,this.getTagsForStencil("mxgraph.aws3",
+"organizations","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"waf;fillColor=#759C3E;gradientColor=none;",76.5,93,"","WAF",null,null,this.getTagsForStencil("mxgraph.aws3","waf","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"agent;fillColor=#759C3E;gradientColor=none;",69,72,"","Agent",null,null,this.getTagsForStencil("mxgraph.aws3","agent","aws group amazon web service security and identity compliance").join(" ")),
+this.createVertexTemplateEntry(a+"certificate_manager_2;fillColor=#759C3E;gradientColor=none;",73.5,63,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"clouddirectory;fillColor=#759C3E;gradientColor=none;",102,109.5,"","CloudDirectory",null,null,this.getTagsForStencil("mxgraph.aws3","cloud directory","aws group amazon web service security and identity compliance").join(" ")),
+this.createVertexTemplateEntry(a+"add_on;fillColor=#759C3E;gradientColor=none;",49.5,27,"","Add-On",null,null,this.getTagsForStencil("mxgraph.aws3","add on","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts;fillColor=#759C3E;gradientColor=none;",61.5,34.5,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts_2;fillColor=#759C3E;gradientColor=none;",
+46.5,60,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"data_encryption_key;fillColor=#7D7C7C;gradientColor=none;",46.5,60,"","Data Encryption Key",null,null,this.getTagsForStencil("mxgraph.aws3","data encryption key","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"encrypted_data;fillColor=#7D7C7C;gradientColor=none;",
+43.5,55.5,"","Encrypted Data",null,null,this.getTagsForStencil("mxgraph.aws3","encrypted data","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"long_term_security_credential;fillColor=#ffffff;gradientColor=none;",60,48,"","Long Term Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","long term security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
+"mfa_token;fillColor=#7D7C7C;gradientColor=none;",61.5,61.5,"","MFA Token",null,null,this.getTagsForStencil("mxgraph.aws3","mfa token","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"permissions_2;fillColor=#D2D3D3;gradientColor=none;",46.5,63,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"role;fillColor=#759C3E;gradientColor=none;",
+94.5,79.5,"","Role",null,null,this.getTagsForStencil("mxgraph.aws3","role","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"temporary_security_credential;fillColor=#ffffff;gradientColor=none;",67.5,60,"","Temporary Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","temporary security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"filtering_rule;fillColor=#759C3E;gradientColor=none;",
+69,72,"","Filtering Rule",null,null,this.getTagsForStencil("mxgraph.aws3","filtering rule","aws group amazon web service security and identity compliance").join(" "))])};Sidebar.prototype.addAWS3StoragePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Storage","AWS / Storage",!1,[this.createVertexTemplateEntry(a+"s3;fillColor=#E05243;gradientColor=none;",76.5,93,"","S3",null,
+null,this.getTagsForStencil("mxgraph.aws3","s3","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"glacier;fillColor=#E05243;gradientColor=none;",76.5,93,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws3","glacier","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"storage_gateway;fillColor=#E05243;gradientColor=none;",76.5,93,"","Storage Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","storage gateway","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"efs;fillColor=#E05243;gradientColor=none;",76.5,93,"","EFS",null,null,this.getTagsForStencil("mxgraph.aws3","efs","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"archive;fillColor=#E05243;gradientColor=none;",57,75,"","Archive",null,null,this.getTagsForStencil("mxgraph.aws3","archive","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"vault;fillColor=#E05243;gradientColor=none;",54,75,"","Vault",
+null,null,this.getTagsForStencil("mxgraph.aws3","vault","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket",null,null,this.getTagsForStencil("mxgraph.aws3","bucket","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket_with_objects;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket with Objects",null,null,this.getTagsForStencil("mxgraph.aws3","bucket with objects",
+"aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"object;fillColor=#E05243;gradientColor=none;",42,45,"","Object",null,null,this.getTagsForStencil("mxgraph.aws3","object","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"virtual_tape_library;fillColor=#E05243;gradientColor=none;",60,73.5,"","Virtual Tape Library",null,null,this.getTagsForStencil("mxgraph.aws3","virtual tape library","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"non_cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Non-Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","non cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
+"snapshot;fillColor=#E05243;gradientColor=none;",60,73.5,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws3","snapshot","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","Volume",null,null,this.getTagsForStencil("mxgraph.aws3","volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,
+this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs_share;fillColor=#E05243;gradientColor=none;",69,63,"","EFS Share",null,null,this.getTagsForStencil("mxgraph.aws3","efs share","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","import export","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3","ebs","aws group amazon web service storage").join(" "))])}})();(function(){Sidebar.prototype.addAWS3DPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=1;align=center;dashed=0;shape=mxgraph.aws3d.";this.addPaletteFunctions("aws3d","AWS 3D",!1,[this.createVertexTemplateEntry(a+"ami;aspect=fixed;fillColor=#E8CA45;strokeColor=#FFF215;",92,60,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
 "ami2;aspect=fixed;fillColor=#FF9900;strokeColor=#ffffff;",74,50,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application;fillColor=#4286c5;strokeColor=#57A2D8;aspect=fixed;",62,68.8,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application2;fillColor=#86E83A;strokeColor=#B0F373;aspect=fixed;",62,53,
 "","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;",123,124,"","EC2 Instance",null,null,this.getTagsForStencil("mxgraph.aws3d","ec2 instance","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"client;aspect=fixed;strokeColor=none;fillColor=#777777;",60,104,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3d",
 "client","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"cloudfront;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;",103.8,100*1.698,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3d","cloudfront","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"file;aspect=fixed;strokeColor=#2d6195;fillColor=#ffffff;",30.8,70.6,"","Content",null,null,this.getTagsForStencil("mxgraph.aws3d","content","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
@@ -3863,28 +3866,28 @@ this.createVertexTemplateEntry(a+"arrowNW;fillColor=#000000;aspect=fixed;",45.5,
 null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatEdge;fillColor=#000000;aspect=fixed;",63.2,36,"","Flat Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatDoubleEdge;fillColor=#000000;aspect=fixed;",252.8,144,"","Flat Double Edge",null,null,this.getTagsForStencil("mxgraph.aws3d",
 "arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowhead;aspect=fixed;",19,11,"","Arrowhead",null,null,this.getTagsForStencil("mxgraph.aws3d","arrowhead","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"edge;aspect=fixed;",97,107.4,"","Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","edge","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"reference;aspect=fixed;",29.5,19.5,"","Reference",
 null,null,this.getTagsForStencil("mxgraph.aws3d","reference","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"spot;aspect=fixed;",62,36,"","Spot",null,null,this.getTagsForStencil("mxgraph.aws3d","spot","aws 3d amazon web service").join(" ")),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;",50,100,"isometric edge","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;",50,100,"isometric edge",
-"Isometric Edge 2")])}})();(function(){Sidebar.prototype.addAzurePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.";this.addPaletteFunctions("azure",mxResources.get("azure"),!1,[this.createVertexTemplateEntry(a+"access_control;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.azure","access_control","").join(" ")),this.createVertexTemplateEntry(a+"automation;",50,45,"","Automation",
-null,null,this.getTagsForStencil("mxgraph.azure","automation","").join(" ")),this.createVertexTemplateEntry(a+"autoscale;",50,30,"","AutoScale",null,null,this.getTagsForStencil("mxgraph.azure","autoscale","").join(" ")),this.createVertexTemplateEntry(a+"azure_active_directory;",47.5,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.azure","azure_active_directory","").join(" ")),this.createVertexTemplateEntry(a+"azure_alert;",50,42.5,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.azure",
-"azure_alert","").join(" ")),this.createVertexTemplateEntry(a+"azure_cache;",45,50,"","Azure Cache",null,null,this.getTagsForStencil("mxgraph.azure","azure_cache","").join(" ")),this.createVertexTemplateEntry(a+"azure_instance;",50,50,"","Azure Instance",null,null,this.getTagsForStencil("mxgraph.azure","azure_instance","").join(" ")),this.createVertexTemplateEntry(a+"azure_load_balancer;",50,35,"","Azure Load Balancer",null,null,this.getTagsForStencil("mxgraph.azure","azure_load_balancer","").join(" ")),
-this.createVertexTemplateEntry(a+"azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.azure","azure_marketplace","").join(" ")),this.createVertexTemplateEntry(a+"azure_sdk;",50,47.5,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.azure","azure_sdk","").join(" ")),this.createVertexTemplateEntry(a+"azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.azure","azure_subscription","").join(" ")),this.createVertexTemplateEntry(a+
-"azure_website;",50,50,"","Azure Website",null,null,this.getTagsForStencil("mxgraph.azure","azure_website","").join(" ")),this.createVertexTemplateEntry(a+"backup_service;",50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.azure","backup_service","").join(" ")),this.createVertexTemplateEntry(a+"bitbucket_code_source;",42.5,50,"","BitBucket Code Source",null,null,this.getTagsForStencil("mxgraph.azure","bitbucket_code_source","").join(" ")),this.createVertexTemplateEntry(a+"biztalk_services;",
-50,50,"","BizTalk Services",null,null,this.getTagsForStencil("mxgraph.azure","biztalk_services","").join(" ")),this.createVertexTemplateEntry(a+"certificate;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.azure","certificate","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",50,32.5,"","Cloud",null,null,this.getTagsForStencil("mxgraph.azure","cloud","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.azure",
-"cloud_service","").join(" ")),this.createVertexTemplateEntry(a+"cloud_services_configuration_file;",47.5,50,"","Cloud Services Configuration File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_services_configuration_file","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service_package_file;",42.5,50,"","Cloud Service Package File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service_package_file","").join(" ")),this.createVertexTemplateEntry(a+"codeplex_code_source;",
-50,37.5,"","CodePlex Code Source",null,null,this.getTagsForStencil("mxgraph.azure","codeplex_code_source","").join(" ")),this.createVertexTemplateEntry(a+"code_file;",47.5,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.azure","code_file","").join(" ")),this.createVertexTemplateEntry(a+"computer;",50,45,"","Computer",null,null,this.getTagsForStencil("mxgraph.azure","computer","").join(" ")),this.createVertexTemplateEntry(a+"content_delivery_network;",50,32.5,"","Content Delivery Network",
-null,null,this.getTagsForStencil("mxgraph.azure","content_delivery_network","").join(" ")),this.createVertexTemplateEntry(a+"database;",37.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.azure","database","").join(" ")),this.createVertexTemplateEntry(a+"dropbox_code_source;",50,47.5,"","DropBox Code Source",null,null,this.getTagsForStencil("mxgraph.azure","dropbox_code_source","").join(" ")),this.createVertexTemplateEntry(a+"enterprise;",30,50,"","Enterprise",null,null,this.getTagsForStencil("mxgraph.azure",
-"enterprise","").join(" ")),this.createVertexTemplateEntry(a+"express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.azure","express_route","").join(" ")),this.createVertexTemplateEntry(a+"file;",47.5,50,"","File",null,null,this.getTagsForStencil("mxgraph.azure","file","").join(" ")),this.createVertexTemplateEntry(a+"file_2;",47.5,50,"","File 2",null,null,this.getTagsForStencil("mxgraph.azure","file_2","").join(" ")),this.createVertexTemplateEntry(a+"github_code;",50,50,
-"","GitHub Code",null,null,this.getTagsForStencil("mxgraph.azure","github_code","").join(" ")),this.createVertexTemplateEntry(a+"git_repository;",50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.azure","git_repository","").join(" ")),this.createVertexTemplateEntry(a+"hdinsight;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.azure","hdinsight","").join(" ")),this.createVertexTemplateEntry(a+"healthy;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.azure",
-"healthy","").join(" ")),this.createVertexTemplateEntry(a+"health_monitoring;",50,42.5,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.azure","health_monitoring","").join(" ")),this.createVertexTemplateEntry(a+"hyper_v_recovery_manager;",50,45,"","Hyper-V Recovery Manager",null,null,this.getTagsForStencil("mxgraph.azure","hyper_v_recovery_manager","").join(" ")),this.createVertexTemplateEntry(a+"laptop;",50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.azure","laptop",
-"").join(" ")),this.createVertexTemplateEntry(a+"load_balancer_generic;",37.5,50,"","Load Balancer Generic",null,null,this.getTagsForStencil("mxgraph.azure","load_balancer_generic","").join(" ")),this.createVertexTemplateEntry(a+"media_service;",45,50,"","Media Service",null,null,this.getTagsForStencil("mxgraph.azure","media_service","").join(" ")),this.createVertexTemplateEntry(a+"message;",50,37.5,"","Message",null,null,this.getTagsForStencil("mxgraph.azure","message","").join(" ")),this.createVertexTemplateEntry(a+
-"mobile;",35,50,"","Mobile",null,null,this.getTagsForStencil("mxgraph.azure","mobile","").join(" ")),this.createVertexTemplateEntry(a+"mobile_services;",32.5,50,"","Mobile Services",null,null,this.getTagsForStencil("mxgraph.azure","mobile_services","").join(" ")),this.createVertexTemplateEntry(a+"multi_factor_authentication;",25,50,"","Multi Factor Authentication",null,null,this.getTagsForStencil("mxgraph.azure","multi_factor_authentication","").join(" ")),this.createVertexTemplateEntry(a+"mysql_database;",
-37.5,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.azure","mysql_database","").join(" ")),this.createVertexTemplateEntry(a+"notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.azure","notification_hub","").join(" ")),this.createVertexTemplateEntry(a+"notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.azure","notification_topic","").join(" ")),this.createVertexTemplateEntry(a+"operating_system_image;",
-50,50,"","Operating System Image",null,null,this.getTagsForStencil("mxgraph.azure","operating_system_image","").join(" ")),this.createVertexTemplateEntry(a+"powershell_file;",50,50,"","PowerShell File",null,null,this.getTagsForStencil("mxgraph.azure","powershell_file","").join(" ")),this.createVertexTemplateEntry(a+"queue_generic;",50,15,"","Queue Generic",null,null,this.getTagsForStencil("mxgraph.azure","queue_generic","").join(" ")),this.createVertexTemplateEntry(a+"rdp_remoting_file;",47.5,50,
-"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.azure","rdp_remoting_file","").join(" ")),this.createVertexTemplateEntry(a+"scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.azure","scheduler","").join(" ")),this.createVertexTemplateEntry(a+"script_file;",47.5,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.azure","script_file","").join(" ")),this.createVertexTemplateEntry(a+"server;",50,15,"","Server",null,null,this.getTagsForStencil("mxgraph.azure",
-"server","").join(" ")),this.createVertexTemplateEntry(a+"server_rack;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.azure","server_rack","").join(" ")),this.createVertexTemplateEntry(a+"service_bus;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.azure","service_bus","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_queues;",42.5,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_queues","").join(" ")),this.createVertexTemplateEntry(a+
-"service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_relay","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topics and Subscriptions",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_topics_and_subscriptions","").join(" ")),this.createVertexTemplateEntry(a+"service_endpoint;",50,20,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.azure","service_endpoint",
-"").join(" ")),this.createVertexTemplateEntry(a+"sql_database;",37.5,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.azure","sql_database","").join(" ")),this.createVertexTemplateEntry(a+"sql_database_sql_azure;",47.5,50,"","SQL Database SQL Azure",null,null,this.getTagsForStencil("mxgraph.azure","sql_database_sql_azure","").join(" ")),this.createVertexTemplateEntry(a+"sql_datasync;",37.5,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.azure","sql_datasync","").join(" ")),
-this.createVertexTemplateEntry(a+"sql_reporting;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.azure","sql_reporting","").join(" ")),this.createVertexTemplateEntry(a+"startup_task;",47.5,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.azure","startup_task","").join(" ")),this.createVertexTemplateEntry(a+"storage;",50,40,"","Storage",null,null,this.getTagsForStencil("mxgraph.azure","storage","").join(" ")),this.createVertexTemplateEntry(a+"storage_blob;",50,45,
-"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.azure","storage_blob","").join(" ")),this.createVertexTemplateEntry(a+"storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.azure","storage_queue","").join(" ")),this.createVertexTemplateEntry(a+"storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.azure","storage_table","").join(" ")),this.createVertexTemplateEntry(a+"storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.azure",
+"Isometric Edge 2")])}})();(function(){Sidebar.prototype.addAzurePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.";this.addPaletteFunctions("azure",mxResources.get("azure"),!1,[this.createVertexTemplateEntry(a+"access_control;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.azure","access_control","").join(" ")),this.createVertexTemplateEntry(a+"automation;",50,
+45,"","Automation",null,null,this.getTagsForStencil("mxgraph.azure","automation","").join(" ")),this.createVertexTemplateEntry(a+"autoscale;",50,30,"","AutoScale",null,null,this.getTagsForStencil("mxgraph.azure","autoscale","").join(" ")),this.createVertexTemplateEntry(a+"azure_active_directory;",47.5,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.azure","azure_active_directory","").join(" ")),this.createVertexTemplateEntry(a+"azure_alert;",50,42.5,"","Azure Alert",null,
+null,this.getTagsForStencil("mxgraph.azure","azure_alert","").join(" ")),this.createVertexTemplateEntry(a+"azure_cache;",45,50,"","Azure Cache",null,null,this.getTagsForStencil("mxgraph.azure","azure_cache","").join(" ")),this.createVertexTemplateEntry(a+"azure_instance;",50,50,"","Azure Instance",null,null,this.getTagsForStencil("mxgraph.azure","azure_instance","").join(" ")),this.createVertexTemplateEntry(a+"azure_load_balancer;",50,35,"","Azure Load Balancer",null,null,this.getTagsForStencil("mxgraph.azure",
+"azure_load_balancer","").join(" ")),this.createVertexTemplateEntry(a+"azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.azure","azure_marketplace","").join(" ")),this.createVertexTemplateEntry(a+"azure_sdk;",50,47.5,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.azure","azure_sdk","").join(" ")),this.createVertexTemplateEntry(a+"azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.azure","azure_subscription",
+"").join(" ")),this.createVertexTemplateEntry(a+"azure_website;",50,50,"","Azure Website",null,null,this.getTagsForStencil("mxgraph.azure","azure_website","").join(" ")),this.createVertexTemplateEntry(a+"backup_service;",50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.azure","backup_service","").join(" ")),this.createVertexTemplateEntry(a+"bitbucket_code_source;",42.5,50,"","BitBucket Code Source",null,null,this.getTagsForStencil("mxgraph.azure","bitbucket_code_source","").join(" ")),
+this.createVertexTemplateEntry(a+"biztalk_services;",50,50,"","BizTalk Services",null,null,this.getTagsForStencil("mxgraph.azure","biztalk_services","").join(" ")),this.createVertexTemplateEntry(a+"certificate;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.azure","certificate","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",50,32.5,"","Cloud",null,null,this.getTagsForStencil("mxgraph.azure","cloud","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service;",50,40,
+"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service","").join(" ")),this.createVertexTemplateEntry(a+"cloud_services_configuration_file;",47.5,50,"","Cloud Services Configuration File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_services_configuration_file","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service_package_file;",42.5,50,"","Cloud Service Package File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service_package_file","").join(" ")),
+this.createVertexTemplateEntry(a+"codeplex_code_source;",50,37.5,"","CodePlex Code Source",null,null,this.getTagsForStencil("mxgraph.azure","codeplex_code_source","").join(" ")),this.createVertexTemplateEntry(a+"code_file;",47.5,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.azure","code_file","").join(" ")),this.createVertexTemplateEntry(a+"computer;",50,45,"","Computer",null,null,this.getTagsForStencil("mxgraph.azure","computer","").join(" ")),this.createVertexTemplateEntry(a+"content_delivery_network;",
+50,32.5,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.azure","content_delivery_network","").join(" ")),this.createVertexTemplateEntry(a+"database;",37.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.azure","database","").join(" ")),this.createVertexTemplateEntry(a+"dropbox_code_source;",50,47.5,"","DropBox Code Source",null,null,this.getTagsForStencil("mxgraph.azure","dropbox_code_source","").join(" ")),this.createVertexTemplateEntry(a+"enterprise;",30,50,"",
+"Enterprise",null,null,this.getTagsForStencil("mxgraph.azure","enterprise","").join(" ")),this.createVertexTemplateEntry(a+"express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.azure","express_route","").join(" ")),this.createVertexTemplateEntry(a+"file;",47.5,50,"","File",null,null,this.getTagsForStencil("mxgraph.azure","file","").join(" ")),this.createVertexTemplateEntry(a+"file_2;",47.5,50,"","File 2",null,null,this.getTagsForStencil("mxgraph.azure","file_2","").join(" ")),
+this.createVertexTemplateEntry(a+"github_code;",50,50,"","GitHub Code",null,null,this.getTagsForStencil("mxgraph.azure","github_code","").join(" ")),this.createVertexTemplateEntry(a+"git_repository;",50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.azure","git_repository","").join(" ")),this.createVertexTemplateEntry(a+"hdinsight;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.azure","hdinsight","").join(" ")),this.createVertexTemplateEntry(a+"healthy;",50,45,"",
+"Healthy",null,null,this.getTagsForStencil("mxgraph.azure","healthy","").join(" ")),this.createVertexTemplateEntry(a+"health_monitoring;",50,42.5,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.azure","health_monitoring","").join(" ")),this.createVertexTemplateEntry(a+"hyper_v_recovery_manager;",50,45,"","Hyper-V Recovery Manager",null,null,this.getTagsForStencil("mxgraph.azure","hyper_v_recovery_manager","").join(" ")),this.createVertexTemplateEntry(a+"laptop;",50,30,"","Laptop",
+null,null,this.getTagsForStencil("mxgraph.azure","laptop","").join(" ")),this.createVertexTemplateEntry(a+"load_balancer_generic;",37.5,50,"","Load Balancer Generic",null,null,this.getTagsForStencil("mxgraph.azure","load_balancer_generic","").join(" ")),this.createVertexTemplateEntry(a+"media_service;",45,50,"","Media Service",null,null,this.getTagsForStencil("mxgraph.azure","media_service","").join(" ")),this.createVertexTemplateEntry(a+"message;",50,37.5,"","Message",null,null,this.getTagsForStencil("mxgraph.azure",
+"message","").join(" ")),this.createVertexTemplateEntry(a+"mobile;",35,50,"","Mobile",null,null,this.getTagsForStencil("mxgraph.azure","mobile","").join(" ")),this.createVertexTemplateEntry(a+"mobile_services;",32.5,50,"","Mobile Services",null,null,this.getTagsForStencil("mxgraph.azure","mobile_services","").join(" ")),this.createVertexTemplateEntry(a+"multi_factor_authentication;",25,50,"","Multi Factor Authentication",null,null,this.getTagsForStencil("mxgraph.azure","multi_factor_authentication",
+"").join(" ")),this.createVertexTemplateEntry(a+"mysql_database;",37.5,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.azure","mysql_database","").join(" ")),this.createVertexTemplateEntry(a+"notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.azure","notification_hub","").join(" ")),this.createVertexTemplateEntry(a+"notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.azure","notification_topic","").join(" ")),
+this.createVertexTemplateEntry(a+"operating_system_image;",50,50,"","Operating System Image",null,null,this.getTagsForStencil("mxgraph.azure","operating_system_image","").join(" ")),this.createVertexTemplateEntry(a+"powershell_file;",50,50,"","PowerShell File",null,null,this.getTagsForStencil("mxgraph.azure","powershell_file","").join(" ")),this.createVertexTemplateEntry(a+"queue_generic;",50,15,"","Queue Generic",null,null,this.getTagsForStencil("mxgraph.azure","queue_generic","").join(" ")),this.createVertexTemplateEntry(a+
+"rdp_remoting_file;",47.5,50,"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.azure","rdp_remoting_file","").join(" ")),this.createVertexTemplateEntry(a+"scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.azure","scheduler","").join(" ")),this.createVertexTemplateEntry(a+"script_file;",47.5,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.azure","script_file","").join(" ")),this.createVertexTemplateEntry(a+"server;",50,15,"","Server",null,null,
+this.getTagsForStencil("mxgraph.azure","server","").join(" ")),this.createVertexTemplateEntry(a+"server_rack;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.azure","server_rack","").join(" ")),this.createVertexTemplateEntry(a+"service_bus;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.azure","service_bus","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_queues;",42.5,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_queues",
+"").join(" ")),this.createVertexTemplateEntry(a+"service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_relay","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topics and Subscriptions",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_topics_and_subscriptions","").join(" ")),this.createVertexTemplateEntry(a+"service_endpoint;",50,20,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.azure",
+"service_endpoint","").join(" ")),this.createVertexTemplateEntry(a+"sql_database;",37.5,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.azure","sql_database","").join(" ")),this.createVertexTemplateEntry(a+"sql_database_sql_azure;",47.5,50,"","SQL Database SQL Azure",null,null,this.getTagsForStencil("mxgraph.azure","sql_database_sql_azure","").join(" ")),this.createVertexTemplateEntry(a+"sql_datasync;",37.5,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.azure","sql_datasync",
+"").join(" ")),this.createVertexTemplateEntry(a+"sql_reporting;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.azure","sql_reporting","").join(" ")),this.createVertexTemplateEntry(a+"startup_task;",47.5,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.azure","startup_task","").join(" ")),this.createVertexTemplateEntry(a+"storage;",50,40,"","Storage",null,null,this.getTagsForStencil("mxgraph.azure","storage","").join(" ")),this.createVertexTemplateEntry(a+"storage_blob;",
+50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.azure","storage_blob","").join(" ")),this.createVertexTemplateEntry(a+"storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.azure","storage_queue","").join(" ")),this.createVertexTemplateEntry(a+"storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.azure","storage_table","").join(" ")),this.createVertexTemplateEntry(a+"storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.azure",
 "storsimple","").join(" ")),this.createVertexTemplateEntry(a+"tablet;",50,37.5,"","Tablet",null,null,this.getTagsForStencil("mxgraph.azure","tablet","").join(" ")),this.createVertexTemplateEntry(a+"team_foundation_service;",50,37.5,"","Team Foundation Service",null,null,this.getTagsForStencil("mxgraph.azure","team_foundation_service","").join(" ")),this.createVertexTemplateEntry(a+"traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.azure","traffic_manager","").join(" ")),
 this.createVertexTemplateEntry(a+"unidentified_code_object;",50,42.5,"","Unidentified Code Object",null,null,this.getTagsForStencil("mxgraph.azure","unidentified_code_object","").join(" ")),this.createVertexTemplateEntry(a+"user;",47.5,50,"","User",null,null,this.getTagsForStencil("mxgraph.azure","user","").join(" ")),this.createVertexTemplateEntry(a+"vhd;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.azure","vhd","").join(" ")),this.createVertexTemplateEntry(a+"vhd_data_disk;",37.5,50,
 "","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*
@@ -4173,8 +4176,8 @@ this.addDataEntry("bootstrap skills",800,480,"Skills","7Zpbc6IwFMc/DY/tEAJeHtdbH
 this.addDataEntry("bootstrap chat",400,660,"Chat","7VpRc+I2EP4tfWD6BCPbmCOPCSTX6TTTm+ShzwIvWHOy5ZNkQvrru5JlDrDvoI2VGKZmQqy1JMv77bf+tMMgmmXbz5IW6aNIgA+i+0E0k0Lo6izbzoDzQUhYMojmgzAk+DcIH35wNbBXSUEl5PqcAWE1YEN5CZWlMij9yp0h1Rkuax4MojuV0kS8YINgI6EqhcQ18Eph+mfbtXmW0QKfQGk8HUlYatNBS/EVZoILaaeNqgOvrBjne/aVPdD+kjINzwVdmnlfcCq0udWC1LD94RNbk3vczyAy0PIVu7ywRKdVjzGpvEJSYOvUDZtMnJGqyrDejf3uQDxxPmz3Z9Q7f+7sbf6UoNjf8JfzTHCuh8P/5uHY2SRwqtkGDuZ/i9fHDa//LtIcLXdCNPxfuxanYIWChi9zkUNLWBLzQTunC+BfhGKaiRyvyer57ihna9PmsLL4oKNZvv7DtuaBGbkSuW6bcS8gzvJ+1O79V8f3UVwN2UMjagEj+rdguDt+EQwXEpJ6fe5u7u7Dul3PIFYrBboB5m7dZ+Ebe2dVqUCeGQk39jgXrHE7WNsjsH4CXtgCXtgNeMOAHKFHPKA3aaD3yJYpBdPnSSxYrpBInlnqWFmTtCatY+mT8+x70PRwwMeQdjh+D9Z+ulzWTv5n7bSBngkS8gyFhmyBfg9JSIKoc3nj9I18RmGCPeJzmZ+YT5O+O9w/Xv68lbwO7k8+uHrTQPs3hu2M5r/0BeF78kDmk5NKK37L1uE0stMWYMfd8Do8pHUQ+QC6zhV7SE8H0W2Mjr0NUKyQ28fOAW/bsbRgXJsOCZzYw9ldyNj39FEYeMQ8aGNzR8n8GHQv7A6CJr2xB+6NiE5Bwmg06gvL5zf384fpGVLNB88PB5yKgI5oPwyOY+DGSww0Sz0XTvw6Mj42CjoTdUdREPpJ/80C1bxkytym1GA65qU0/xMLhGnbZyskpJAnIJmujRvBy0JTO2oD3F4ApUxzyTgrs3oWY4ESv1blmlHTLS85pxUYaChlb7LPCY3xDvpil1X2Y2zq5V0Txl4irFmMu/A8c1UCI/KTVpoVuiegnOPwB9xAkBnNfzVrWmCegA1Y3WEywaxne4xT6uPdhUfoU3g0YsNPQmjW/y48IVy38Ij8yM9mNfA2T4wy2IBREzk1eoGzBUi7LYGssMrBZIil1RIK9YY2qiEXC6tYQFnJgaCgMjHVClFoJqr+30qTZHKWMruIrIDECpRvpemQocpR1eKsKbFpaMsyM6jgCKiVKSs8seqlEEqxzAwxyxFZbu/vBJCiSpUZLoHWa9rvZBVQb/JbT/XNLr67fdeNvZS1g2Zl9MLz2VUJnNgP6M0C6Z9fcdtC5ihzekPv3skXj9XS4S6mauC9KNvw6uql161eYi8F1LClgFqm/amavuG97jHrT/yx/xh1L5o1vLqS6VW96SddJHxsfv+1ZdV9/8eY/wA="),
 this.addDataEntry("bootstrap log in",240,220,"Log in","7ZhLj9owEIB/TY4gJ04CHAtst5W2EupW6tmQgVjrxMjx8uiv7zgxgZAAUZVsD60RUmbs8WO+mbESh86Sw7Ni2/ibjEA49MmhMyWlLp6SwwyEcDzCI4fOHc8j+He8zzd63byXbJmCVLcx8AqDHRPvUGhmMtVKmjELluKG8v5MH4Xtj3WCu5y7Dp1mMYvkHgWCQsSyGCIrYM/WjE8OG3O04RIPlGl8HCoFK9zZdM2FmEkhVT4rXecN9UzwTYq6FR4AsHOqXvkvM1VgpsWdvcGFGckb9uxAab5i4pM113Jrxm/ZiqebH0aYe2bcGk9nJ3T9k2wPZ460j7mGVzQzij1uGHXWRbgCHG66OVdZHz+DTECrIw7Z80jH1tV+gYLEwDexNTvxISwrFJvS9kwNHyy4Zoi0BvEpYbw3dHeJTPJ2B3ATgYtxUd4uAkHAWp9RvuTS3Cc3WCnIcO6f1utuW3reQ3rupIEetToFgmm+g8r8TUTtEgvJcWWPHKrTHAsxvAoJuV5noGsBUe6zVYz4tRjpOjwMqOm71jL94xiJzK+k+OXk6dYY6UOMtAuKbfMy6N3neZo3eLj05JWHS88XFmWeDGlbF/vNLrYGZBhUQrmULzMprCNwvU4SaTCurD4Ie0iksAZ1wbJsL1X00Vdlyxz7X28f1FuX9FFwR/9CwQ0/puBeYeyU07h3TttTfbhHplqQW5fjUT/lOOylHI97SLNJDd93SCBZ4ruDRxLomuUqhtXbUh4uMo42cQ3zdqd4C7YEsZAZ19zk71wV3r9fhoOrek46rLd+Qxj4nYTBiFbLrd9HHLikFggvcoOKr2lf9/LtkpvKFOrsg/F0EozqV/DdV6NHL6fdXsDHisHfuY4HQQfXMYrnjyjF8MtvLL8B"),
 this.addDataEntry("bootstrap log in",240,260,"Log in","7Vhtb5swEP41fJnUyJiXJB+b0HaVOilaJ+2zAw54NTgzbl7263cGE0ghadRCVWmjqorPd+Z8z/OcC5YzT3d3kqyTbyKi3HJuLGcuhVDlXbqbU84tjFhkOYGFMYJfC9+emLWLWbQmkmbqkgBcBmwIf6alZS4yJYX2WZAMEirmc7XnZj5RKWQZ2JYzyxMSiS0MEAwikic0MgOYWWv/dBfrrY2WsKFcwe1IShpCZrMV43wuuJDFqs6quMBOOIszsIWwAQqTM/nI/uilPL0sZPZEG2GouGBmQ6ViIeHXJlyJtfZfk5Bl8Q89CLD2W8HuzIK2W43N5vSWtglT9BHCtGELCYPNlAieQHcny1yYTI3vqEipkntw2bJIJabUbgkFSiiLExOGfWMkeWmID7E1anBjgOsG0WmBaGGf6yorsoStYRRCwJpEERSjcPB/P2uGzVB9a7xMyc541VyojGaT1zZAgTVO1Q5rS3MFPzZ/yxRlyxLpehgg60DDiGYqm7ZXyqJIb7nhVWNQGb0iq1ZK91koSn5q1ZTJLKvJm5QwXlkBkWWdNgI6dkQsSJ5vhYy6gw42vd22sVUVbSzRrOzDCPO03jKR0bZyb3FwE9waKTXswczD7hzsApSz4kU6OvSEyCTN4bk/DVT2pbLDr8rOnnbIrpKipJwotqFH63dJ0TxiIVim2WEScswy+3LovdCyWK1yqlpKPuR5kbjdlrh/iSSzXBRrQo5CkX48EwDeaXF1NPJI/3R02kqqnK5U3ZofilHgok9BC2cQWhRNsHdeeB1Nv18eaKRmz0qJ7M1kqE71EsavVakvxtF9FUenDxgvPWj9wWteHDIdFa5ldVzhQ+XLiINQRs6lJfa6S2wC0Mg74vJh3JSS34bAxr0o6Wpy9PQrfwAhjVugfjHX/8b6yRurO0RjnfwLjXX8uRrrdPCar6t/xs9V+biJXtxCJ8O0UH+QFjoZQDI2auH3naY0Xer3NZTSvsEMExo+LcWuIR+nC1i/uM7Ih5Ml5QuRM8W0GANZlv98T/VeNGH0zua5PwpossLtYIXbCyvGzjErxngIWtgtWjyIGAz32ccfrd1vr95kNvXG7bfXA0Pe8sGo37P1ND0+7qS96uPVFob1h83Svfnd8y8=")];
-this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){var a=Sidebar.prototype.addBpmnPalette;Sidebar.prototype.addBpmnPalette=function(d,e){a.apply(this,arguments);var b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;",c="bpmn business process model gateway ";this.addPaletteFunctions("bpmnGateways","BPMN Gateways",!1,[this.createVertexTemplateEntry(b+"outline=none;symbol=exclusiveGw;",50,50,"","Exclusive Gateway",null,
-null,c+"exclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=parallelGw;",50,50,"","Parallel Gateway",null,null,c+"parallel"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","Inclusive Gateway",null,null,c+"inclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=complexGw;",50,50,"","Complex Gateway",null,null,c+"complex"),this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start Gateway",null,null,c+"general start"),
+this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){var a=Sidebar.prototype.addBpmnPalette;Sidebar.prototype.addBpmnPalette=function(d,e){a.apply(this,arguments);var b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;",c="bpmn business process model gateway ";this.addPaletteFunctions("bpmnGateways","BPMN Gateways",!1,[this.createVertexTemplateEntry(b+"outline=none;symbol=exclusiveGw;",50,50,"","Exclusive Gateway",
+null,null,c+"exclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=parallelGw;",50,50,"","Parallel Gateway",null,null,c+"parallel"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","Inclusive Gateway",null,null,c+"inclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=complexGw;",50,50,"","Complex Gateway",null,null,c+"complex"),this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start Gateway",null,null,c+"general start"),
 this.createVertexTemplateEntry(b+"outline=throwing;symbol=general;",50,50,"","General Intermediate Gateway",null,null,c+"general intermediate"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","General End Gateway",null,null,c+"general end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=message;",50,50,"","Message Standard Gateway",null,null,c+"message standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=message;",50,50,"","Message Interrupting Gateway",
 null,null,c+"message interrupting"),this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=message;",50,50,"","Message Non-Interrupting Gateway",null,null,c+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=message;",50,50,"","Message Catching Gateway",null,null,c+"message catching"),this.createVertexTemplateEntry(b+"outline=boundInt;symbol=message;",50,50,"","Message Boundary Interrupting Gateway",null,null,c+"message boundary interrupting"),
 this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=message;",50,50,"","Message Boundary Non-Interrupting Gateway",null,null,c+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=message;",50,50,"","Message Throwing Gateway",null,null,c+"message throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=message;",50,50,"","Message End Gateway",null,null,c+"message end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=timer;",
@@ -4193,7 +4196,7 @@ null,null,c+"multiple standard"),this.createVertexTemplateEntry(b+"outline=event
 "outline=boundInt;symbol=multiple;",50,50,"","Multiple Boundary Interrupting Gateway",null,null,c+"multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=multiple;",50,50,"","Multiple Boundary Non-Interrupting Gateway",null,null,c+"multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=multiple;",50,50,"","Multiple Throwing Gateway",null,null,c+"multiple throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=multiple;",
 50,50,"","Multiple End Gateway",null,null,c+"multiple end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=star;",50,50,"","Multiple Start Gateway",null,null,c+"multiple end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=parallelMultiple;",50,50,"","Parallel Multiple Standard Gateway",null,null,c+"parallel multiple standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=parallelMultiple;",50,50,"","Parallel Multiple Interrupting Gateway",null,null,c+"parallel multiple interrupting"),
 this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Non-Interrupting Gateway",null,null,c+"parallel multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=parallelMultiple;",50,50,"","Parallel Multiple Catching Gateway",null,null,c+"parallel multiple catching"),this.createVertexTemplateEntry(b+"outline=boundInt;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Interrupting Gateway",
-null,null,c+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting Gateway",null,null,c+"parallel multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=end;symbol=terminate;",50,50,"","Terminate Gateway",null,null,c+"terminate")]);b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=ellipsePerimeter;outlineConnect=0;";
+null,null,c+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting Gateway",null,null,c+"parallel multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=end;symbol=terminate;",50,50,"","Terminate Gateway",null,null,c+"terminate")]);b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=ellipsePerimeter;outlineConnect=0;";
 c="bpmn business process model event ";this.addPaletteFunctions("bpmnEvents","BPMN Events",!1,[this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start",null,null,c+"general start"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=general;",50,50,"","General Intermediate",null,null,c+"general intermediate"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","General End",null,null,c+"general end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=message;",
 50,50,"","Message Standard",null,null,c+"message standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=message;",50,50,"","Message Interrupting",null,null,c+"message interrupting"),this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=message;",50,50,"","Message Non-Interrupting",null,null,c+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=message;",50,50,"","Message Catching",null,null,c+"message catching"),this.createVertexTemplateEntry(b+
 "outline=boundInt;symbol=message;",50,50,"","Message Boundary Interrupting",null,null,c+"message boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=message;",50,50,"","Message Boundary Non-Interrupting",null,null,c+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=message;",50,50,"","Message Throwing",null,null,c+"message throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=message;",50,50,"",
@@ -4241,7 +4244,7 @@ null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_3p","cabin
 25,25,"","Terminal 4mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2;",2.5,30,"","Terminal 4-6mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2_x10;",25,30,"","Terminal 4-6mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+
 "terminal_6_25mm2;",5,37.5,"","Terminal 6-25mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_6_25mm2_x10;",50,37.5,"","Terminal 6-25mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_40mm2;",11,50,"","Terminal 40mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2","cabinet ").join(" ")),
 this.createVertexTemplateEntry(a+"terminal_40mm2_x10;",50*2.2,50,"","Terminal 40mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2;",12.5,50*1.1,"","Terminal 50mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_50mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2_x10;",125,50*1.1,"","Terminal 50mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets",
-"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.architecture.";this.addPaletteFunctions("cisco_safeArchitecture","Cisco Safe / Architecture",
+"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.architecture.";this.addPaletteFunctions("cisco_safeArchitecture","Cisco Safe / Architecture",
 !1,[this.createVertexTemplateEntry(a+"aci_controller;",50,50,"","ACI Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci controller","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,50,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci leaf switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,50,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
 "aci spine switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,50,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","adaptive security appliance","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"automated_system;",50,50,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","automated system","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+
 "blade_server;",50,50,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","blade server","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"catalyst_switch;",50,50,"","Catalyst Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","catalyst switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"corporate_device;",50,50,"","Corporate Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
@@ -4255,7 +4258,7 @@ this.createVertexTemplateEntry(a+"nexus_fabric_switch;",50,50,"","Nexus Fabric S
 "switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"tls_appliance;",50,50,"","TLS Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","tls appliance","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"unified_access_switch;",50,50,"","Unified Access Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","unified access switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"web_application_firewall;",
 50,50,"","Web Application Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","web application firewall","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"web_security;",50,50,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","web security","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wide_area_application_engine;",50,50,"","Wide Area Application Engine",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
 "wide area application engine","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wireless_access_point;",50,50,"","Wireless Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","wireless access point","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wireless_lan_controller;",50,50,"","Wireless LAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","wireless lan controller","cisco safe architecture").join(" "))])};
-Sidebar.prototype.addCiscoSafeCapabilityPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#28A8E0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.capability.";this.addPaletteFunctions("cisco_safeCapability","Cisco Safe / Capability",!1,[this.createVertexTemplateEntry(a+"access_control_using_trustsec;",50,50,"","Access Control Using TrustSec",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","access control using trustsec",
+Sidebar.prototype.addCiscoSafeCapabilityPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#28A8E0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.capability.";this.addPaletteFunctions("cisco_safeCapability","Cisco Safe / Capability",!1,[this.createVertexTemplateEntry(a+"access_control_using_trustsec;",50,50,"","Access Control Using TrustSec",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","access control using trustsec",
 "cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"analysis_correlation",50,50,"","Analysis Correlation",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","analysis correlation","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anomaly_detection;",50,50,"","Anomaly Detection",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anomaly detection","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_malware;",
 50,50,"","Anti-Malware",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti malware","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_spam;",50,50,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti spam","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_virus;",50,50,"","Anti-Virus",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti virus","cisco safe capability").join(" ")),
 this.createVertexTemplateEntry(a+"application;",50,50,"","Application",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","application","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"application_visibility_control;",50,50,"","Application Visibility Control",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","application visibility control","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"client_based_security;",50,50,"","Client Based Security",
@@ -4278,10 +4281,10 @@ null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","virtual firewa
 null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","vulnerability management","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_application_firewall;",50,50,"","Web Application Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","web application firewall","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_reputation_filtering_dcs;",50,50,"","Web Reputation Filtering DCS",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability",
 "web reputation filtering dcs","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_security;",50,50,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","web security","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_connection;",50,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless connection","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_intrusion_detection_system;",
 50,50,"","Wireless Intrusion Detection System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless intrusion detection system","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_intrusion_prevention_system;",50,50,"","Wireless Intrusion Prevention System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless intrusion prevention system","cisco safe capability").join(" "))])};Sidebar.prototype.addCiscoSafeDesignPalette=function(){var a=
-mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#A153A0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.design.";this.addPaletteFunctions("cisco_safeDesign","Cisco Safe / Design",!1,[this.createVertexTemplateEntry(a+"access_point;",50,45,"","Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","access point","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_controller;",50,45,"","ACI Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
-"aci controller","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,45,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci leaf switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,45,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci spine switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_1;",23.5,50,"","Actor (female)",
-null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor female","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_2;",19,50,"","Actor (male)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor male","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,45,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","adaptive security appliance","cisco safe design").join(" ")),
-this.createVertexTemplateEntry(a+"automated_system;",50,45,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","automated system","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blade_server;",50,45,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blade server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_device;",50,45,"","Blank Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#A153A0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.design.";this.addPaletteFunctions("cisco_safeDesign","Cisco Safe / Design",!1,[this.createVertexTemplateEntry(a+"access_point;",50,45,"","Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","access point","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_controller;",50,45,"","ACI Controller",null,null,
+this.getTagsForStencil("mxgraph.cisco_safe.design","aci controller","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,45,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci leaf switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,45,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci spine switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+
+"actor_1;",23.5,50,"","Actor (female)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor female","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_2;",19,50,"","Actor (male)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor male","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,45,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","adaptive security appliance",
+"cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"automated_system;",50,45,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","automated system","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blade_server;",50,45,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blade server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_device;",50,45,"","Blank Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
 "blank device","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_service;",50,45,"","Blank Service",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blank service","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"call_manager;",50,45,"","Call Manager",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","call manager","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"catalyst_data_center_switch;",50,45,"","Catalyst Data Center Switch",
 null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","catalyst data center switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"catalyst_switch_stack;",50,45,"","Catalyst Switch Stack",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","catalyst switch stack","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"cisco_amp;",50,45,"","Cisco Amp",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco amp amplifier","cisco safe design").join(" ")),
 this.createVertexTemplateEntry(a+"cisco_anyconnect;",50,45,"","Cisco AnyConnect",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco anyconnect","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"cisco_cloud_web_security;",50,45,"","Cisco Cloud Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco cloud web security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"client_firewall;",50,45,"","Client Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
@@ -4296,22 +4299,22 @@ null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","nexus fabric switc
 this.getTagsForStencil("mxgraph.cisco_safe.design","users","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"virtual_secure_server;",50,45,"","Virtual Secure Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","virtual secure server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vload_balancer;",50,45,"","vLoad Balancer",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vload balancer","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+
 "vwaf_security;",50,45,"","vWAF Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vwaf security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vweb_security;",50,45,"","vWeb Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vweb security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vwlan_controller;",50,45,"","vWLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vwlan controller","cisco safe design").join(" ")),
 this.createVertexTemplateEntry(a+"web_security;",50,45,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","web security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wireless_corporate_device;",50,45,"","Wireless Corporate Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wireless corporate device","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wireless_switch;",50,45,"","Wireless Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
-"wireless switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wlan_controller;",50,45,"","WLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wlan controller","cisco safe design").join(" "))])};Sidebar.prototype.addCiscoSafeThreatPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#F06650;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.threat.";this.addPaletteFunctions("cisco_safeThreat","Cisco Safe / Threat",
-!1,[this.createVertexTemplateEntry(a+"threat_a1;",49,50,"","Threat A1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a2;",49,50,"","Threat A2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a3;",49,50,"","Threat A3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_a4;",49,50,"","Threat A4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a5;",49,50,"","Threat A5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a6;",49,50,"","Threat A6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_a7;",49,50,"","Threat A7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a8;",49,50,"","Threat A8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b1;",31.5,50,"","Threat B1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b2;",31.5,50,"","Threat B2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b3;",31.5,50,"","Threat B3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b4;",31.5,50,"","Threat B4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b5;",31.5,50,"","Threat B5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b6;",31.5,50,"","Threat B6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b7;",31.5,50,"","Threat B7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b8;",31.5,50,"","Threat B8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c1;",50,40.5,"","Threat C1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c2;",50,40.5,"","Threat C2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_c3;",50,40.5,"","Threat C3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c4;",50,40.5,"","Threat C4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c5;",50,40.5,"","Threat C5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_c6;",50,40.5,"","Threat C6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c7;",50,40.5,"","Threat C7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c8;",50,40.5,"","Threat C8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d1;",46.5,50,"","Threat D1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d2;",46.5,50,"","Threat D2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d3;",46.5,50,"","Threat D3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d4;",46.5,50,"","Threat D4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d5;",46.5,50,"","Threat D5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d6;",46.5,50,"","Threat D6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d7;",46.5,50,"","Threat D7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d8;",46.5,50,"","Threat D8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e1;",50,47,"","Threat E1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e2;",50,47,"","Threat E2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e3;",50,47,"","Threat E3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e4;",50,47,"","Threat E4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e5;",50,47,"","Threat E5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e6;",50,47,"","Threat E6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e7;",50,47,"","Threat E7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e8;",50,47,"","Threat E8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" "))])}})();(function(){Sidebar.prototype.addCitrixPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;aspect=fixed;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;outlineConnect=0;shape=mxgraph.citrix.";this.addPaletteFunctions("citrix","Citrix",!1,[this.createVertexTemplateEntry(a+"1u_2u_server;",100,39.1,"","1U 2U Server",null,null,this.getTagsForStencil("mxgraph.citrix","1U 2U Server","").join(" ")),this.createVertexTemplateEntry(a+"access_card;",55.5,75,"","Access Card",
-null,null,this.getTagsForStencil("mxgraph.citrix","Access Card","").join(" ")),this.createVertexTemplateEntry(a+"branch_repeater;",100,39,"","Branch Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Branch Repeater","").join(" ")),this.createVertexTemplateEntry(a+"browser;",47.5,72.5,"","Browser",null,null,this.getTagsForStencil("mxgraph.citrix","Browser","").join(" ")),this.createVertexTemplateEntry(a+"cache_server;",71,97.5,"","Cache Server",null,null,this.getTagsForStencil("mxgraph.citrix",
+"wireless switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wlan_controller;",50,45,"","WLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wlan controller","cisco safe design").join(" "))])};Sidebar.prototype.addCiscoSafeThreatPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#F06650;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.threat.";this.addPaletteFunctions("cisco_safeThreat",
+"Cisco Safe / Threat",!1,[this.createVertexTemplateEntry(a+"threat_a1;",49,50,"","Threat A1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a2;",49,50,"","Threat A2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a3;",49,50,"","Threat A3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a4;",49,50,"","Threat A4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a5;",49,50,"","Threat A5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a6;",49,50,"","Threat A6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a7;",49,50,"","Threat A7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a8;",49,50,"","Threat A8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b1;",31.5,50,"","Threat B1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b2;",31.5,50,"","Threat B2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b3;",31.5,50,"","Threat B3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b4;",31.5,50,"","Threat B4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b5;",31.5,50,"","Threat B5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b6;",31.5,50,"","Threat B6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b7;",31.5,50,"","Threat B7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b8;",31.5,50,"","Threat B8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c1;",50,40.5,"","Threat C1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c2;",50,40.5,"","Threat C2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c3;",50,40.5,"","Threat C3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c4;",50,40.5,"","Threat C4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c5;",50,40.5,"","Threat C5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c6;",50,40.5,"","Threat C6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c7;",50,40.5,"","Threat C7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c8;",50,40.5,"","Threat C8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d1;",46.5,50,"","Threat D1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d2;",46.5,50,"","Threat D2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d3;",46.5,50,"","Threat D3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d4;",46.5,50,"","Threat D4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d5;",46.5,50,"","Threat D5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d6;",46.5,50,"","Threat D6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d7;",46.5,50,"","Threat D7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d8;",46.5,50,"","Threat D8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e1;",50,47,"","Threat E1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e2;",50,47,"","Threat E2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e3;",50,47,"","Threat E3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e4;",50,47,"","Threat E4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e5;",50,47,"","Threat E5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e6;",50,47,"","Threat E6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e7;",50,47,"","Threat E7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e8;",50,47,"","Threat E8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" "))])}})();(function(){Sidebar.prototype.addCitrixPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;aspect=fixed;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;align=center;outlineConnect=0;shape=mxgraph.citrix.";this.addPaletteFunctions("citrix","Citrix",!1,[this.createVertexTemplateEntry(a+"1u_2u_server;",100,39.1,"","1U 2U Server",null,null,this.getTagsForStencil("mxgraph.citrix","1U 2U Server","").join(" ")),this.createVertexTemplateEntry(a+"access_card;",55.5,
+75,"","Access Card",null,null,this.getTagsForStencil("mxgraph.citrix","Access Card","").join(" ")),this.createVertexTemplateEntry(a+"branch_repeater;",100,39,"","Branch Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Branch Repeater","").join(" ")),this.createVertexTemplateEntry(a+"browser;",47.5,72.5,"","Browser",null,null,this.getTagsForStencil("mxgraph.citrix","Browser","").join(" ")),this.createVertexTemplateEntry(a+"cache_server;",71,97.5,"","Cache Server",null,null,this.getTagsForStencil("mxgraph.citrix",
 "Cache Server","").join(" ")),this.createVertexTemplateEntry(a+"calendar;",75,100,"","Calendar",null,null,this.getTagsForStencil("mxgraph.citrix","Calendar","").join(" ")),this.createVertexTemplateEntry(a+"cell_phone;",25,60,"","Cell Phone",null,null,this.getTagsForStencil("mxgraph.citrix","Cell Phone","").join(" ")),this.createVertexTemplateEntry(a+"chassis;",137.5,177.5,"","Chassis",null,null,this.getTagsForStencil("mxgraph.citrix","Chassis","").join(" ")),this.createVertexTemplateEntry(a+"citrix_hdx;",
 77.5,41,"","Citrix HDX",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix HDX","").join(" ")),this.createVertexTemplateEntry(a+"citrix_logo;fillColor=#4E4F53;",160,62.5,"","Citrix Logo",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix Logo","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",95,62,"","Cloud",null,null,this.getTagsForStencil("mxgraph.citrix","Cloud","").join(" ")),this.createVertexTemplateEntry(a+"command_center;",75.5,96,"","Command Center",null,null,this.getTagsForStencil("mxgraph.citrix",
 "Command Center","").join(" ")),this.createVertexTemplateEntry(a+"database;",42.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.citrix","Database","").join(" ")),this.createVertexTemplateEntry(a+"database_server;",80,90,"","Database Server",null,null,this.getTagsForStencil("mxgraph.citrix","Database Server","").join(" ")),this.createVertexTemplateEntry(a+"datacenter;",127.5,135,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.citrix","Datacenter","").join(" ")),this.createVertexTemplateEntry(a+
@@ -4735,22 +4738,22 @@ this.addDataEntry("gmdl google media design library grid list grid style",358,64
 this.addDataEntry("gmdl google media design library grid list grid style",358,642,"Grid Style","7Vtdb6M4FP01kWYfWoHNR3hs0sm87Eij3ZXmceQQJ6AajIynm+yvXxM+CjE0JrHbNClVpdixwZxzz73cizOB82T7jaEs+k5XmEzg1wmcM0p5+SnZzjEhE2DFqwl8nABgif8JWAx8a++/tTLEcMpVJoBywjMiv3HZU3bkfEeqjhXKI1wMtyZwlkcoK/oZDsX5Z+uYkDkllO2HwvX+KIZxRp9w/U1KUzFnVl0KM463g8vdd1Vr/YZpgjnbiSH/xiselSOgOy2nRTjeRNU0z6kWjvKyY9PMfbl78aECoB8MKIFhi7U8QGsUJojEm7Rolqs7xAg8wmDqDWG0pilvDV7sj2JwhsI43fxV3bHz0vUPzUSHXc39u1qjVbfj/4qmDUWb4Vy0flZI2qqMgNMYAU7ZxzBBPH7GnfOfw5Jzoskm200hs/tNsiL3nGa/loiNpUcJMNgPWHfCrlLnvVu2W3A6noymPRbN6vo/aCyW1Vz8LgCdy9/53TPQ9TrHXGKjuQslglyJoAV6pizmOB8lpH6BdOmCgeMHfq9xt8y/wOOYtEod3RVCKfiNQ0QeKiUn8WpVLLiRNsFr/jLzz33r0QeGFeX659nAritMrZx7OkSZMbzGAqZQGIoa/U3AUcLd7cf9FSnWWHWk6GmRYn2aWolTA6z4OljJMWJhJBHSRr/NSkVUObjWo7I0BihS9p12n+/UQ9id55pnbKqHMc6FX3pTESkz5JojqFarSYICiaAHxGgqumY4TQXwo0KcHLVUCLP2h+inRQDixe2Cwwc+R454zbRLjW+ulvg2tQ3QblvHhVlzi0JeQG5Ae8H4AAZknOt85ky5gQN3aLsmcLdlvS2XuLjrecTinOM0x+kozZ2jsFefMm9Yczb0TJCvUJ0wLzp7oCRxzaqTKyHCbgvN0TSlTH8a1zDyKbABgQVGoppCLeUUgc0eiz9lgQ0UTK5ZYHKN5C01ZdLgPT0G31TB9OKupU7BMcFZ1M5zjxSpFq49c5XlcEKZwpJ5GF1/VZQDMEGLXKj44rnWH6LLdV1xTehINAkIuY7wIKtDU8A4gcf+QvqZfq1m7nCKHubkgsV3uowFsgp8QZkv13IWzuK2+FJ98WHLtYcTnFeE0g39rRpERkbys8t3vn77r6tDjnXgySwDegAKdYLbDuzQNuGHgFwn+AIBrCOI50+DjxdBSmO68ghSC6TF3E/Knj5e/Hg3tlTjR8/+hguLH0MQ3lD8GJGRk7gnA2l7rO47OFulnHlOANnWvACr9vHtHGXa82pOk2eCvolksWcjw2cs7+IeGMFdS5KeoJgov7RuJ+knvrm+rN0Fb/EqtGd7gQilYVUidiy8RUlG8H1IE5VofmHPXreQvfdsN/iBWU5TRFQYu7Dnr0vP33v2DnzGk46VO64JK4dyTi5M7te1OKrxmwI+nqOCcnr/QZPE92JLeQ+8nI5rd1KNWvQ6qV1nwjEEnakee3dMPFpBLan6EoVPYx6BBxJHZeOGRxPD7suk3gy+75lY0+Z3v3N1I3vf4Yj8XcyMs7w3hX83hq6fIIWk/lWX9p7s+NdGj2i+/NatHN7+Kdz/"),
 this.addDataEntry("gmdl google media design library grid list two line grid list",358,642,"Two-line grid list","7VvRcto4FP0aP8LYMtjmEUjTzm7SySSd6ey+7KhYYE1ki8oiQL++kiUDjgxriA2YqTtt0LVkyffcc3S5VSx3HK8+MziPHmmIiOV+stwxo5SrT/FqjAixgI1Dy72zALDFXwvc77nrZHftOWQo4VUGADXgDZIFUhZlSPmaaEMI0wjJ7rbljtIIzqWdoYl4/miKCRlTQlnW1bWzS3bjjL6i/E5CEzFmpKdCjKPV3uVmJr3Wz4jGiLO16LLEIY9UD7cfqGERwrNID/N6euEwVYbZZuz27cUH7YByZ7iGMxyxlqFrH+UTSPAskU21uuN8NKUJ3+k8zS7ZeQ4nOJk96zfubU3f6FwYHD32Ra/Rztv4l2w6rmgzlIrWd+1Jpyoi4DREQE/ZGCKQ4zdUeP5HUOqdGLLxaiZp1p3FIelyOv/vB2QfClW33DHFAWvNwm5ftXfc1vNMrznHek3P/0SxWNZm8s4AFKbv+MUn0Ok0Rdzw+uYtKgHRN4AYMbpM0VFsKWdBkTIgu0ojeCfGgW3y5z673pOlI9kgwcUTSIaarjEOQ7ngDX8JmvLtyIesdeeDhmnT9z8WAOsi+2oF3KuDeblbC7gXpC67k4Nc2d/9cn8f4J9Txj+vFv7l3MjpFzSAhl8HGjFkM5w8Ky5KSj5mBu34rUERp2jTlOgAk7GjO/lnH73FSkK61MsyOa0sX3JUatyoHH9QAnng1kK5wGkA5MAAWSIB7Aec8rQ+vBW8vYItzzUkvMsIc/QilFA+cCkedyBVeS+sXD77varu5ib9rcrKprdtjijnNM7fpyDh3oHMisqeXMIC+vti8MRkyD8txnynoWRoYMTHMOERTeSi7hlCMUwsIJ5i/4sSI1zEi/IjwS3uhhlWezfSXYydZl3umy7XX3w+ymrXa4DVjn1p7c7Jfe3ivTqwfbdOzB3HZCvhiCVqpY2quWbsucU8uGYxVzS8IjV3zHLMF9EjooskTJWO3yOCV+LndwminC4Jxb/dbrcBdQ/OoO6VMGibvJuFpAblvSVp+OaLGAgqa/mxPDunlptlqDuYTGpX8fJt+zpz8uBCMr6nEPd/8eUNmpJxszL2iBmMhOlx8hVhoqT8CS7kqK94Rduam1dyfdvUu5YyV1X1bmsifmtyblbTPhEBEqMJnjSr6ZKv15uaX0rTvWvT9JJKnAyO1UqJ+VC8PZQDntEbfpOf2pmOV/F72wTdLJI1KOhtS8f7nn8D+g3MitqTLJT/ScbPLdyDKxNuYBbdXha6KD6Csnjyl3j5BuT6LPl3FW+3TK5zdf6Tf1fKv29Ev82S2bMlo9SD8TxznT1qVs2vukB+ITHfF4yXE3Oz6jZilL6SdSJz8KzvC4dMF8v/FqPlettbHq+EQNsE3iyPPciVp1b+3xljGCMGFf9JTiDRnGxA8X4u5BFZ4UR3kF27ph2Yc6N8QGepHTQUXRLKYvktbTvKm8mf/ywSmM8qXkRNrG6doD9zAteImSHlZde7MHHztp7BMYWkJMWIeEwKW05dBzw3O47jgcKe4xj7jRAjMwT79YRgZ9DE4amTz7IdcWxxo9D14rIfhbLzhL2gHhR6jaBQyxm2H3DyakCyq9uHT2AffdIQ7KmRbAgDjBzNzNB6JQlaTWd//cLsjRz9LTmXZgCXYyVG4nmKrgqh2weoQs3roKRdEh3/1uARze2v9Kjuu7/x8xs="),
 this.addDataEntry("gmdl google media design library grid list two line grid list",358,642,"Two-line grid list","7Zttc6I6FMc/jS/bIQmCvlS0u/fOdm+n7cy+3EGNklkgTshtdT/9hoegkGARsGuZ4nRajgkP55f/OeGQDpAT7L4wd+vd0xX2B2g+QA6jlKd/BTsH+/4AGmQ1QLMBhIb4GcC7im9B8q2xdRkOeZ0OMO3w4vr/49SSGiK+9zPDyo08HDc3Bmgaee42tjO8FMefronvO9SnLGmK1skWN+OM/sLym5CGos80OxVmHO8qLzcxZdf6BdMAc7YXTV7JintpCzQcpd08TDZe1s0yswt3o9Swyfse7l78kTlA7wykOAOIa5kg4yyfuD7ZhPFuenVlH4Gxbc1glY/WNORah27dJQk3j9kdmwfTM90KA8j6PmXXaMh98jveBUjsMxyJvR+ZJ0FdIrAZEWimNoZ9l5MXXDh+G0pmwyEb7DaxzG43wcq/5XT7c+GyVkMV6R1T7LDPVHg7TPeP3GZaqtfAuV7Lzv9Aibis/OQ3Y1g4/Y1dPAJdryPMFa/nd1ELxLBd7NCP/6JYIBhbd+8/dgEw2mHYFzXQqdstxe1P2GVLT9geMN0K18cx33KDbeIl48F3lzhqoJHAZRsSPqa0Ymj3iUE0s2riy8NXKaxNk48mRJXC3NBojn7YMJGcS75u2LK7CFtRSrrsfeFSK9lKCDIqaWPpQVjXg5begyciGtBpadRJRIOlgDa+gLJGXSB6oWSJaxM6tneLqXYaAkCTvFvGP5mGbKNITcbVTrGNu1EW5yLyRDUjWw7tXRDpJgrdyOoGFc9+EV1J6scp62E+F7+N2T+Tbwot4crjifRS+BEzNYvcJZtm4hvTIEvXn2QHCMhq5eNSujE7Ty37QoeCwsYqQLMlQAlMHqdbYkAh9jh35t+fn/oCayfVhsRWkEAv+KnP9c5/358nTg8Bijhs9w+gWou4pwsST+5L+E5XZKaz+FOV1ETfFX3NOMoB4OM112BdUM5pcJijy2Sa7n1LOs2AdTBNsw6z0YnBpI6J1PJVgurwUQ/YuukpsjoZBgANLzEM1GKH4CEMDg1DyqLiox4a2wjl/lIl/uoRjp8Endj8KuY+bxecjrnWFrrHA79A82zNg4raSrXCdWzbzmJzhV/iMR6o5ZNPhTdReJ4INI82tibuX7ni1fLOZLHA8Y06HiMRx2GEw6vXfT2Vnz2R1vG8bpWrZZ9PlTdRef50LHRn1gv/Vy50tdp07ya3+i/1woj2ReN2/zO5WoD61HgXmfwtzX+45A7VQtiUEc5dYftKfd4TyY97n9ahWh+7nNjfL7ea0Br1IbdKGv3AUxkWK3B9vLCoFrs+MK4cj2UasJ6a7G5i3YXo1Fhw83HoVIqpgpZGTNdNq8aqHElL9CTbCFeBqVqLcwH3q3OCoead57BlEJPvPOWL/vyttJzBd0tCreQoJGoswqEMV68WrFhuU4/Q6RcrsPjqHmgyjQaRvMc2K2UaL5U5Y2GZkWzNC9SnY786nLVrja76DVQ3q2EW7vKXgqSwMqyCS8PFMLCi3JDHHViO+5qqsami6mpdZvFN5UWWZdZZD/NWBvibhHoPCKlVgEpA2pD2N+nYfcMjdg//bpE2P/5vjD8=")];
-this.addPalette("gmdlGrid Lists","GMDL / Grid Lists",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLIconsPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Edit",null,null,this.getTagsForStencil("mxgraph.gmdl","edit","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Star",null,null,this.getTagsForStencil("mxgraph.gmdl","star","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Heart",null,null,this.getTagsForStencil("mxgraph.gmdl","heart","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;",20,
-18,"","Reply",null,null,this.getTagsForStencil("mxgraph.gmdl","reply","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.users;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Users",null,null,this.getTagsForStencil("mxgraph.gmdl","users","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-20,20,"","GPS",null,null,this.getTagsForStencil("mxgraph.gmdl","gps","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Share",null,null,this.getTagsForStencil("mxgraph.gmdl","share","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Navigate",null,null,this.getTagsForStencil("mxgraph.gmdl","navigate","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.chat;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Chat",null,null,this.getTagsForStencil("mxgraph.gmdl","chat","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-12,20,"","Voice",null,null,this.getTagsForStencil("mxgraph.gmdl","voice","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;",16,24,"","Google",null,null,this.getTagsForStencil("mxgraph.gmdl","google","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;",
-24,16,"","Video",null,null,this.getTagsForStencil("mxgraph.gmdl","video","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;",24,22,"","Gallery",null,null,this.getTagsForStencil("mxgraph.gmdl","gallery","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;",
-24,22,"","Birthday",null,null,this.getTagsForStencil("mxgraph.gmdl","birthday","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Cloud",null,null,this.getTagsForStencil("mxgraph.gmdl","cloud","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.x;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-16,16,"","X",null,null,this.getTagsForStencil("mxgraph.gmdl","x","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;",12,20,"","Bookmark",null,null,this.getTagsForStencil("mxgraph.gmdl","bookmark","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Calendar",null,null,this.getTagsForStencil("mxgraph.gmdl","calendar","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;shadow=0;strokeWidth=1;",22,18,"","Attraction",null,null,this.getTagsForStencil("mxgraph.gmdl","attraction","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;",
-18,20,"","Dining",null,null,this.getTagsForStencil("mxgraph.gmdl","dining","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Education",null,null,this.getTagsForStencil("mxgraph.gmdl","education","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Family",null,null,this.getTagsForStencil("mxgraph.gmdl","family","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Health",null,null,this.getTagsForStencil("mxgraph.gmdl","health","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Office",null,null,this.getTagsForStencil("mxgraph.gmdl","office","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Promotion",null,null,this.getTagsForStencil("mxgraph.gmdl","promotion","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Radio",null,null,this.getTagsForStencil("mxgraph.gmdl","radio","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Recipe",null,null,this.getTagsForStencil("mxgraph.gmdl","recipe","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Sports",null,null,this.getTagsForStencil("mxgraph.gmdl","sports","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;shadow=0;direction=south;",20,20,"","Travel",null,null,this.getTagsForStencil("mxgraph.gmdl","travel","gmdl google media design library icon ").join(" "))];this.addPalette("gmdlIcons","GMDL / Icons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};
-Sidebar.prototype.addGMDLListsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library list scannable list",358,642,"Scannable list","7Vtdk+IoFP01PraVgJ+Po07Py07V1HRX7eMWGkxYk5ABHNv99XshSWsktjEm3Y52umwFgdzcw4XDETp4Gr18EyQJvnOPhh38tYOngnOVfopepjQMO8hhXgfPOgg58OqgxyPfuuZbJyGCxqpKBZRW+E3CNU1z0gyptmGW4REZUF3c6eCJDEii8wVdQPuTJQvDKQ+5MEXx0ly6mBJ8RfNvYh5DnUl2KyoUfTlqrsnKbP1GeUSV2EKRDfNUkJbA/VFaLaDMD7Jqg15mOJFphv9ad/f08CFzQLkzsOUMF2z5gp2zfEJC5sc6mVp36CPHGY4Hk2M+WvJY7RV+NJcunJAFi/2f2RP3dlnPPIEMN6v7lNno5Gn2n066GNKCSkj9nXnSrYoIqocI6qV5goZEsd+00P4lKPVqdtnoxddh1vUjL+wqnvwzJ8KGB83weDS4qAvjcocVK2yz6Oz20/SeO3sD25vuud7M7v+DMzDr9eYPY1S4/cOw2AJfLiVVFhqvT1EJoL4F0CMFNLTxxKPirGAqD5LDiBoPRqPSDr4XAsg5HV5pLD3oYNEYswUJv2TRHDHP0wa/hndIl2pX8y+Tmg1Ry1HVH17WD7bF4GwU90ETgZkIuqTgpgWVleHvITyp6vd+ud/fCMfcV4VwHDQSjnkzeTSOWkBl2AQqAAoEV2Ahsu/+Y7CkNfKorBwgR4CqPIq6ZaNoM7A9DPrt4zZqAjcwQ8Ho9K6hVBmhfnsA5THbJkDj0wDVYsvwDTVXCqrHNxnC78vfXAc3MtWM3BZ87zqW82dkm1KMJKHw9F4XUs8Bhf+KRgmVykDDTDOC+IaQbBi4ADnr2GMRi5mJpkMMwbUau03AFH2CyV5nbyDCbDbhmKuEOyhNKw6Jwz477++IhE4OdskJV4pHeYgXWIpem9TtE+OTfQL1Sqa9gXNml6jK6V3XwnPKRWxAmlO61OYLLhdsDe6AhC84gNbtds+Bq0jV9r2cL6v28zrli6hjmJ/Gq//ucKFz4SqP4F4bo6drKw86qB2Iw3fFFNmYjs1125gOURuY2gJKDc4SEeGz+Gc6ZeqZ87vJyMHa5WSgpwPhwdw6mem/i5bxRwB6OQBnn3Lmnbp0Hr1ofKwgenySDagwamNh69qKBjALobnFJn2T0Jx+gxlewjvXExaBF5CASH/UJsacnzW0/bnsIu2t10QvbGniOTDrImCHmk/Q+F++vQ8uURecqyYTtsjhavNtrfEmqcQHQ9oOl2hE/7gWLnEMoY8hE5/KRaV+jUZt/DqCbOnicR3riUjwRM/rejqSC3C/vBO2cG1iBLLFiFRIis3NwTKiicOCR/AY5tahtvfXmlGlVaenlAwaEqhMRUlYKHdskfiExXciXdRFt6G5Kf/tvtkQLtEu7olu3KB0UbL340+mG9ekXVTZsPFJN6DxcStjla1d/OBiBTkh11IrzE1rSXwzSwUkXgEiCBp1VoyGcyK1iDEnC61c5EK8YPM7YSbo2nSMki0WM7GOJPhRI6rWYkW3Bkm+Ds1WG0f+WsMT3c0vJXUhu2Z1o2QLB7ojuvHBkLZDN25K3TiG0MfQjZtXN9xmhqrxgbMb6djYVjemARXmyeYhl5JHeiFsmAekYbS4DyZxbRoHtjWOp0Rof0AZaaxIpYrYM7qF/mgaWMV8cz9s4gbFC2yLF/ie2MQNihf4psSLq9p4geueNjnr/EI2ljVLJLaFCqdoRb5yubB/P7SyAsK2iFGjg88JrJJLWN0r3zuGS80d7PhtWux0UXEbeeku9rLDBw2dBRoW7t7KUSBc4UxIjhXUZImkV4XQ7QNU4XjIm0PaR6IzvDV4ILk7+psW3z8Z/D8="),
+this.addPalette("gmdlGrid Lists","GMDL / Grid Lists",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLIconsPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Edit",null,null,this.getTagsForStencil("mxgraph.gmdl","edit","gmdl google media design library icon ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Star",null,null,this.getTagsForStencil("mxgraph.gmdl","star","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"",
+"Heart",null,null,this.getTagsForStencil("mxgraph.gmdl","heart","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Reply",null,null,this.getTagsForStencil("mxgraph.gmdl","reply","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.users;strokeColor=none;fillColor=#737373;shadow=0;",
+24,16,"","Users",null,null,this.getTagsForStencil("mxgraph.gmdl","users","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",20,20,"","GPS",null,null,this.getTagsForStencil("mxgraph.gmdl","gps","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Share",null,null,this.getTagsForStencil("mxgraph.gmdl","share","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Navigate",null,null,this.getTagsForStencil("mxgraph.gmdl","navigate","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.chat;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Chat",null,null,this.getTagsForStencil("mxgraph.gmdl","chat","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",12,20,"","Voice",null,null,this.getTagsForStencil("mxgraph.gmdl","voice","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;",
+16,24,"","Google",null,null,this.getTagsForStencil("mxgraph.gmdl","google","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Video",null,null,this.getTagsForStencil("mxgraph.gmdl","video","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;",
+24,22,"","Gallery",null,null,this.getTagsForStencil("mxgraph.gmdl","gallery","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;",24,22,"","Birthday",null,null,this.getTagsForStencil("mxgraph.gmdl","birthday","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;",
+24,16,"","Cloud",null,null,this.getTagsForStencil("mxgraph.gmdl","cloud","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.x;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",16,16,"","X",null,null,this.getTagsForStencil("mxgraph.gmdl","x","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;",
+12,20,"","Bookmark",null,null,this.getTagsForStencil("mxgraph.gmdl","bookmark","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Calendar",null,null,this.getTagsForStencil("mxgraph.gmdl","calendar","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;shadow=0;strokeWidth=1;",
+22,18,"","Attraction",null,null,this.getTagsForStencil("mxgraph.gmdl","attraction","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;",18,20,"","Dining",null,null,this.getTagsForStencil("mxgraph.gmdl","dining","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Education",null,null,this.getTagsForStencil("mxgraph.gmdl","education","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Family",null,null,this.getTagsForStencil("mxgraph.gmdl","family","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;",
+20,18,"","Health",null,null,this.getTagsForStencil("mxgraph.gmdl","health","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Office",null,null,this.getTagsForStencil("mxgraph.gmdl","office","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Promotion",null,null,this.getTagsForStencil("mxgraph.gmdl","promotion","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Radio",null,null,this.getTagsForStencil("mxgraph.gmdl","radio","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Recipe",null,null,this.getTagsForStencil("mxgraph.gmdl","recipe","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Sports",null,null,this.getTagsForStencil("mxgraph.gmdl","sports","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;shadow=0;direction=south;",
+20,20,"","Travel",null,null,this.getTagsForStencil("mxgraph.gmdl","travel","gmdl google media design library icon ").join(" "))];this.addPalette("gmdlIcons","GMDL / Icons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLListsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library list scannable list",358,642,"Scannable list","7Vtdk+IoFP01PraVgJ+Po07Py07V1HRX7eMWGkxYk5ABHNv99XshSWsktjEm3Y52umwFgdzcw4XDETp4Gr18EyQJvnOPhh38tYOngnOVfopepjQMO8hhXgfPOgg58OqgxyPfuuZbJyGCxqpKBZRW+E3CNU1z0gyptmGW4REZUF3c6eCJDEii8wVdQPuTJQvDKQ+5MEXx0ly6mBJ8RfNvYh5DnUl2KyoUfTlqrsnKbP1GeUSV2EKRDfNUkJbA/VFaLaDMD7Jqg15mOJFphv9ad/f08CFzQLkzsOUMF2z5gp2zfEJC5sc6mVp36CPHGY4Hk2M+WvJY7RV+NJcunJAFi/2f2RP3dlnPPIEMN6v7lNno5Gn2n066GNKCSkj9nXnSrYoIqocI6qV5goZEsd+00P4lKPVqdtnoxddh1vUjL+wqnvwzJ8KGB83weDS4qAvjcocVK2yz6Oz20/SeO3sD25vuud7M7v+DMzDr9eYPY1S4/cOw2AJfLiVVFhqvT1EJoL4F0CMFNLTxxKPirGAqD5LDiBoPRqPSDr4XAsg5HV5pLD3oYNEYswUJv2TRHDHP0wa/hndIl2pX8y+Tmg1Ry1HVH17WD7bF4GwU90ETgZkIuqTgpgWVleHvITyp6vd+ud/fCMfcV4VwHDQSjnkzeTSOWkBl2AQqAAoEV2Ahsu/+Y7CkNfKorBwgR4CqPIq6ZaNoM7A9DPrt4zZqAjcwQ8Ho9K6hVBmhfnsA5THbJkDj0wDVYsvwDTVXCqrHNxnC78vfXAc3MtWM3BZ87zqW82dkm1KMJKHw9F4XUs8Bhf+KRgmVykDDTDOC+IaQbBi4ADnr2GMRi5mJpkMMwbUau03AFH2CyV5nbyDCbDbhmKuEOyhNKw6Jwz477++IhE4OdskJV4pHeYgXWIpem9TtE+OTfQL1Sqa9gXNml6jK6V3XwnPKRWxAmlO61OYLLhdsDe6AhC84gNbtds+Bq0jV9r2cL6v28zrli6hjmJ/Gq//ucKFz4SqP4F4bo6drKw86qB2Iw3fFFNmYjs1125gOURuY2gJKDc4SEeGz+Gc6ZeqZ87vJyMHa5WSgpwPhwdw6mem/i5bxRwB6OQBnn3Lmnbp0Hr1ofKwgenySDagwamNh69qKBjALobnFJn2T0Jx+gxlewjvXExaBF5CASH/UJsacnzW0/bnsIu2t10QvbGniOTDrImCHmk/Q+F++vQ8uURecqyYTtsjhavNtrfEmqcQHQ9oOl2hE/7gWLnEMoY8hE5/KRaV+jUZt/DqCbOnicR3riUjwRM/rejqSC3C/vBO2cG1iBLLFiFRIis3NwTKiicOCR/AY5tahtvfXmlGlVaenlAwaEqhMRUlYKHdskfiExXciXdRFt6G5Kf/tvtkQLtEu7olu3KB0UbL340+mG9ekXVTZsPFJN6DxcStjla1d/OBiBTkh11IrzE1rSXwzSwUkXgEiCBp1VoyGcyK1iDEnC61c5EK8YPM7YSbo2nSMki0WM7GOJPhRI6rWYkW3Bkm+Ds1WG0f+WsMT3c0vJXUhu2Z1o2QLB7ojuvHBkLZDN25K3TiG0MfQjZtXN9xmhqrxgbMb6djYVjemARXmyeYhl5JHeiFsmAekYbS4DyZxbRoHtjWOp0Rof0AZaaxIpYrYM7qF/mgaWMV8cz9s4gbFC2yLF/ie2MQNihf4psSLq9p4geueNjnr/EI2ljVLJLaFCqdoRb5yubB/P7SyAsK2iFGjg88JrJJLWN0r3zuGS80d7PhtWux0UXEbeeku9rLDBw2dBRoW7t7KUSBc4UxIjhXUZImkV4XQ7QNU4XjIm0PaR6IzvDV4ILk7+psW3z8Z/D8="),
 this.addDataEntry("gmdl google media design library list item list",358,642,"Item list","7Vtdb9owFP01PLZK7ISER0q7TdM6VWulPU4uXEhUYyPH7WC/fs4XJHVoDdgdGqSqhI3tOOfkXDsnlx4ezZefBVkkt3wCtIdvengkOJflp/lyBJT2kJdOevi6h5Cn/nvo05Zv/eJbb0EEMGnSAZUdXgh9hrKmrMjkilYVE5IlkDf3evgqS8girxcwVuNfTVNKR5xyUTTF0+LIm0nBn6D+hnGm+lxVpwIhYbl1ukVVNdfPwOcgxUo1+Z1OZFK2wGFcdksgnSVVt35QTZxkZcVs3Xdz9epDBUA3GFgDw1dzGWJvJ0wITWcsL5aze40RusaDuL8NoylnstH4U3HkjRdknLLZj+qKg03VA1+oCr/qe1/N0avL6Z+86GNVFpCp0s8KSd+UEbQfIygo6wRQItMXaI1/CEvBnrfsfDnLZXY5m0/opeSLX49E7EqPEWC4G7B2h1WlzsuwLDfgDPo6mv6uaFbnv+Opmtb65BcD1Dr9RdQegU+nGUiNjfVVGBEUHhZTunXRZgkPgmgQffg9HUaHsbBqS8Mq6n0bslgImIKCaQyZIRPrkG+Ee9iN+xtiqLFqiaFvRQz1MLUWYgesRDZYyYCIcaIR0kS/yUpFVNm4lgY6kCLj6OV3RS87hF30Q/eMxXYYk1KtzR8qImOGQncE1Wp1SdBAI+grYfmo3h2Ip5Rlh682+qrS3EsF+j7NKw5Vn1OXjgkdVpvAeTqZ5NNY7wopTOVm8/atKF1Hxurcd+EKrSxcse+AT9+zojhZ7OZM1Hattg/9G1PEB7svWVgnoB7Z8pLlOyHEt0HIcwamhMRe/ncgIcbhD3csUNhS/Au9V/y4CIC+/tB+SwoMvvKEZZydA6CrAOjXN4pdQnXj4ZgE52/B/IQUp3sOdyAV3MgbEUGzs+Zcam7gZJHb16X4IM0FJ6853dB4EPDCc9F9ISyDs+ScSW5tQdpl1IoZ4k5y/ZOXnIH3UXNC04bJ1MAcikOzn3zrXu2yJgJ59QNL8xks7iAjtiIO7DkRh25rDInI9xXeFTAGUp7Dnatwh2vwrTKKdF9jqHGoQJFtHlAHD2vHYisPr9/91byMFcRFvDQLgXuYHR3+/M6v/gzNDuSCpeM2O7YxcjqLUs1HU0aPj5CDMEpEmkk47wWdBsfIxdvKjlyLY5LdO5uOU5Cdbnmo+zsXHWeMi/NLFmeCC5CT3chx+x3o5P2OjgSOIVWIIe870LPB6FJwsZMV7rjdDnTybkdHpseQyYSzHIZ7CS9wTiVwJ7oQO1nldBflqEQXn7ro8L7JHjskh64VZNdwXLU6vCeTwI7ZeBE4YcGK6fFIxk9dFnBnUmKTlz0zE8t75y0nuJ0e2Jmd2JVOaim3Omrrx0VqNdbNEI24mivVM11kcFQM/f8EGfgab4a0f8lO9L/Ro4qbn1KVzZu/tPoL"),
 this.addDataEntry("gmdl google media design library list item list",358,642,"Item list","7Vttb9sqGP01+dgKg9/yMU33ommbqnXS/XhFkyexVcdYNu2S++svfiG1i92RBLposatKAYONz/F5wAeYkPlm+ymnWfSNLSGZkA8TMs8Z4/WvzXYOSTLBKF5OyO0EYyT+J/jjwFmnOosymkPKdSrgusIzTZ6gzqkzCr5LmowlLSIoi6MJuSkimpX5OSzE9W9WcZLMWcLyqihZVUdZjOfsEeSZlKWizk1zK8g5bAebW2U1bf0EbAM834kiv+Ilj+oSxAvrahHE66ip5rtNw2lRZ6z3dV+eXvxoAOgHgyhgOKItM4IOwoQm8Totk3XrXmOEb8k09IcwWrGUtwp/rI6ycEYXcbr+0Tyx+5L1k2Uiw2nq3jdtRDId/1cmHSLSORQi9U+DpKPLCD6OEezWeTkklMfP0Ln+KSy5R76ym+26lNn1erNMrjnL/n2g+aH0aAFG+gHrVtg16rz26nQLTtdX0XQORbO5/x2LRbP2N7+a4s7tr4LuFdhqVQBX2Ng/hRZB3mkxpV8XXZbI1A2mwbu/015wGgu7rjSMou6bkEWWwwoETAsoNJnYh3wt3L1+3N8Qg8SqIwbfiBjkZaQWQgusBCZYKYDmi0ghpI1+m5WGqLqwlAY+kSLt6OX0RS8zhF35nn3GQjOMcS765ncVkTZDnj2CpFptEjRVCPpC0/Kq6A7yxzgtTu9t1F6lPZZy1XEaqg6RX1IXL2gyawaBm3i5LJuxHxUmsOIvg7evVeo20FbnsR2XZ6TjCh0LfDrIiOJ4NZrTUdutGD74H3QRnx7eZRGVAHllw12WY4UQxwQhTwXoEhKi8u9EQrTDH+npoIih+OehV/zYCICO+tH+jVYYfGFRWrB0DIC2AqAjXxSzhKrGwzkJzhnA/IIUp3oOd8AF3BjNaZ4Uo+Zsam5qpZM71qV4J825F6851dD4mcMzK0X3maYFjJKzJrm9BWmWUSNmiD3J+RcvOQ3vQ3KSxC2TqYU5VIdiPznGvdqtJAIj+cHS/gYLe8gIjYiDICviUG2NGc3LcQW6gTQFzsdwZyvcEQm+UUax6mvMFA4FKLzLA+7hYe9YDPLweu5P8rIQEFfxUi8EHmF29PjzB0/9aZod2AZL5212DDFyOZ2S5KMto4cHKEGYR3lccBjHglaDY2BjtrJnrcU5ye43g45LkJ1qeYj3uxQdS1OWj5Ms1gTnYiujkfP2O/DF+x09CzhmiUAMo++QjAajTcGFVnq483Y78MW7HT0rPWYpj1hawnDP4RnGpQT2ROcRK72c6qKclejCSxcd0Vjs8aas2hbj4OrziC7Zr4kxj1G1Fx2/b8UzOtFglEw4QdihQoJmlgnV+PgBKxGuIoWQxqQaDEhNBJKS6sQjx38V8rzjneAahzdDVi8xHj6QF+0NA6o38RmSbFJafz7dZNWDoRXA8oEuHkdcB7oCbOP1Vg2Ge7koc+ShlwcH2RgHE9VIuC/xxYg9qXMaIxV1Bc/GHBN5h50Z++Gr2dm+XafC78aorpmZvivXyhDIyE6NqkPR3RHQ5uXIbQHk7VXn6Bp31+b3bg3o28thaGNT0Lm7lX1NROOLXnIlasZZAWfF0N9P0AHrF4Y+Lv4YO8HfRo9Ivuxjrou3tzn/Dw=="),
 this.addDataEntry("gmdl google media design library list item list",152,631,"Item list","7Zldb9sgFIZ/jS8nGWMn8WXjrt2kbZrWi13T+NhGwyYCmo/9+mGb5qPgKlvKLiocRYIDB/D7oBwOiXDR7u4FWTdfeQkswh8jXAjO1VhqdwUwFiUxLSN8GyVJrL9RcjfRiobWeE0EdOoSh2R02BD2BKNlNEi1Z8YgG7LuiwJWesilVIL/goIzLoZ2DMOjWyrK2Im9Gp7eoyEl32oj0hUzHwgFu8k1Dyaz4HvgLSix1122tFSN6ZGZhTZA68a4zbAZi8jRUB98jxLoglHBrQi2FPnBH7nili76BXo9+lehK8JuGK073dLSsuy7LOWarGhXa1N8rH2Bql8smvV68U490N/9cCjTdQFS136al7xYrOTfxMqy0SaAEUU3cDb+NQKml28pRjt4dUv9X0lQ/JeSmCm+c6pnTuK9UTY+9+BVJUFZEh4WdpGqmaXqjaCEvbddmS7eBkHmAcHMQlAQRh8FDRCcEFCMPVCYOyi0GgIJFNwUMuSBwsKmwFu66gGQTgYUbhR57gFF7kDRSc5IwODGkKRzDxieDw9nHISkm/DDNIEh9xGkEXJgeBIUhDZ+g22A4YSBUx+xGtnp5a3gujWJH0KYmGSR+4jYyE5sDyxA0CrAcMJIsY+YjewkWQ8g6nCKncKw8BKz7az6E7AN9EoP4UJbAw9ngo29BG87xf7cagVVoOCmsPASte0U29L/1Uvhjg/Xei/ug5fD50phzx1OZE4dIl95nWfm+vB8pDSiz99g5+vq8Y5/7H76F8Af"),
@@ -4799,49 +4802,54 @@ this.addDataEntry("gmdl google media design library picker year picker light",32
 this.addDataEntry("gmdl google media design library picker year picker dark",328,484,"Year picker (dark)","7ZjLbuIwFIafJstKviQhWdK008VcOhKVZp0hhlhj4shxC8zTzzE2lDSXIS3pKiBQ/NvHdv7P6HDi0WSze1BpmX+XGRMevfdooqTU9mqzS5gQHkE88+idRwiCj0e+dPTiQy8qU8UKfUkAsQEvqXhmVrFCpffCCVWeluZSsSVMebviQiRSSHXopT4xb9ArreQfduwpZMGMmKeZ3EIbQ8MtxZRmu87tHiS31wcmN0yrPQzZ8kzndgQlkQ3LGV/nLsyPfCumlRXWp9jXu4cLZ0C7GbRhxlP+7BGIQ/NSwTemA90JDi+jy0Kf6avDq8u1VPB1AU3BVmbOqkyXvFgbF0M31YL/NYtSCm1jKF+mYu6ifkut5QY6wGb9aGL1HuQZAkmxCiJ/OTMvhkLeByUOraaYSDV/YbX5PwLKb4ACNrMGG2NAi0EbnmVmSDcUa/iTLKEj7CWAj3CvYzR95+lHIxkdtBntDzb6eKCXcKNM9Tj/1tnPPa9+NNBGt8RPyWFlgvb1Y3+MkKtVxXTD9tPGLiIRtpEIJhK9JLDvj4Bi1oYinFD0o4jJCCii6ySC/6GIUHKb+HUUJP50FMHQfNqO4pQurooibkMRTb+KfhSj5AqM2ljEE4teFnSUZIFxCwtXlE0sOlmMki1ws9pN5j+S+29dNM69pD1poVYwmL//25xrtgDVhG6huq8VEWgw6IXb2kfx1QP2tdYZ2hlqST5Da4w3ZN3SNzhEtdVvgjGyEW7W8o9fJ8x1zPGImOMRKEPz9cmYHX7+4Owf"),
 this.addDataEntry("gmdl google media design library picker date picker landscape light",512,304,"Date picker (landscape, light)","7ZhNb6MwEIZ/DceubAwEjlnS9rDbdqVU2rMVnGCtg5Fxm2R//Y7BSSCQJrRB2gNEkZjxjD/exwYNDonX20dF8/RJJkw45N4hsZJSV3frbcyEcFzEE4fMHNdF8HfchzOtuGxFOVUs09ckuFXCOxVvrPJUjkLvhHUUKc3NrWIL6PL7kgsRSyFV2UqW5QX+Qiv5h9VaWHmZlpQmcgNODIYdjynNtmfnXLrshB+ZXDOtdhCy4YlOqwgf24mmjK9Sm0aQVzlpUTlWh9yjBHBjVehWhLQUeU3fHBfyAlgURrCGaa4gApOeUiEUBWFo/DLTlyXMZGbUo4KvMjAFW5o+i5wueLYyaga2qzn/awYlBGwjLF9QMbVZWubHpFdjzLB3LQb3IgYchANh8FoYQPFJS3GYvu5Y9poniQk5lfqhvE4VCT7UFftgm3FeTIjegWtidoFiBQT8tmJcvbfJ50T1qnOMFBNU83fW6P8rQvtdQnu9hd5v0wUslKm28t7M/DqU/aSMZ/amTUDfiBvarJqyxPM6tmswkLJBl7L+qOx5Ze2ovySHybho1+xmnyGXy4LpFonDXK+CM+mCE4xw+sKZuAPACW/z8L8Ep/FCtnDc6H+As/d9EQ5G4QB0oi464Xh0etPxhzg7GHXhiUY8vfGEQxwejDvw2CJtxNMDz6FEuC2edkEcT5/j+5/nANXlJR+8YhoFhykfNinXbA5ek7pRtFan2Yh+7Od2ajciahN2DauGdoLaZP2+NcoJWTv0HQ5QY/S7fce3Rd2u9F9+jJibmKMBMUcDUAbz+PGsCq9/W/sH"),
 this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7ZhLb+IwEMc/TY5d+ZGEcKTp47CPrkSlPVvEEGtNHDlugf30O04MTUigpCVSDzFCiscz9vj/s0ETj8br7aNmefpTJVx69N6jsVbKVE/rbcyl9AgSiUfvPEIQfD3ycGIUl6MoZ5pn5pIAUgW8MvnCK0tlKMxOOkORstw+ar6AKW+XQspYSaXLUeoT+wF7YbT6y2sjvGx2JGWJ2oARQ8etx7Xh25M5lyaX8CNXa270Dlw2IjFp5RFgl2jKxSp1YRT5lZEVlWF1iH2TAB6cCt2K0JYiz+mLRyAuhE1hBHuY5Ro8MO0pVVA2a1eZqdmXZWtJmKnMqsekWGXQlXxp5yxythDZyqoZuqnm4p9dlFLoW2HFgsmZizIqfwt6tp077F+KgbyLAYfRQBj8FgZQfNJSHNI3HdteiySxLsdSP5TtWJHwrK7YIrPrPFkXswPTxJ4CzQtw+OPEuPhs04+J6lf3GGkumRGvvDH/Z4QOuoT2ewu9P6YL2CjXZw75sbIflPHE2XQB6BslkYuqKUt9v+O4hgMpG3YpG4zKnlbWrfpbCUiGoF1zmn2EWi4LblokDrleBGfSBScc4fSFMyEDwImu8+P/HpwIxbex34RDpl8Bzt72STgYRQPQmXbRicar05tOMMTdwagLz3TE0xtPNMTlwbgDjyvSRjw98BxKhOviaRfE8exXfP/jFKC6vPTMX0yj4LDlwyYVhs/BakM3mtXqNOfRj/3cpXYloi5g1+jV0E5Qm2zQt0Y5IuuWvsEhaqx+s5/4uqjblf7T9xFzE/N0QMzTAShD9+3lWeVef7f2Hw==")];
-this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],
-16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),
-this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,
-0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
-48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,
-16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],
-16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),
-this.addEntry("gmdl google media design library selection control checkbox off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,
-0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused light",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",
-new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",
-new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",
-function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=
-!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl",
-"slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",
-200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",
-200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=20;shadow=0;",
-200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",
-200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=none;handleSize=6;shadow=0;hPos=0;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",
-210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#000000;opacity=100;strokeWidth=2;fillColor=#000000;handleSize=10;shadow=0;",
-200,10,"","Discrete slider (normal, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=1;strokeColor=#BEBEBE;opacity=100;strokeWidth=2;fillColor=#BEBEBE;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=0;",
-200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",
-200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#ffffff;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal dark","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark",
-"gmdl google media design library slider ").join(" "))];this.addPalette("gmdlSliders","GMDL / Sliders",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSteppersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library tab stepper",704,478,"Stepper","7Zhvj5sgHIA/je/5o619uXO9y5KtW7LtA3gTKxkVg+zWfvuhQK8W2dwOlt1ykqb6U1CeBxBMcHE43omya97xirAEbxNcCM6l3jscC8JYggCtEvw6QQioX4JuPWfheBZ0pSCtXJIB6QwPJftGdEQHenliJtA3ZTfsCvJFFXnTS8G/koIzLlSw5a06d1NTxmwoQbgeNxU3pRMhydH7hGPIPN4d4QcixUld8p1WstFXrEGqszWE7huTLV3nOlj2OrA/532ssNoxdZ6vP3bqD70AVE7a9WQhgxTl2W06xHkr/5gN+iUbNIPGxgRhpaQP05rN4TJ3+MCpujECx2kxp+mhLYDXdU+kQ/v8mIsEpI6AXXkgKsLr0QLp1J/fydJGaUIlo/tWHTJSS6PmoykUBlQCQDQn2Sq+k2z5oMDoyLWigwjK2xG1GEBcOVEt/35M4TDDOcqbVRDMGE4wZzEwr6KMvffVkMJRzizRS8xwA4JgXoEp5jwC5rWDuXi/+/Rm93kbAvcwzNd/YZiHALkacJjGfmUBrVEEDbmr4dWu2L4NIeEM+0pCDob0PCRASz2qhY1jwT/o/N58Z0OG9D/Nd7B91wY1YN9aP5/xPP1V4J/xXMgpx+1Zznwi2YGOHfzSQTwdJLWDR1gF7pp0poP4rbx0kKh23BWz18Q/tzjIgnC+WhtgOxd+Cmd1+PjRR19++U3oBw=="),
+this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex=
+!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}),
+this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}),
+this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}),
+this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light",
+function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls",
+a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",
+200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",
+200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",
+200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=none;handleSize=6;shadow=0;hPos=0;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",
+210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#000000;opacity=100;strokeWidth=2;fillColor=#000000;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal light","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",
+200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=1;strokeColor=#BEBEBE;opacity=100;strokeWidth=2;fillColor=#BEBEBE;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl",
+"slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
+200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl",
+"slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=0;",
+200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled",
+"gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#ffffff;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",
+200,10,"","Discrete slider (normal, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,
+this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark",
+"gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" "))];
+this.addPalette("gmdlSliders","GMDL / Sliders",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSteppersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library tab stepper",704,478,"Stepper","7Zhvj5sgHIA/je/5o619uXO9y5KtW7LtA3gTKxkVg+zWfvuhQK8W2dwOlt1ykqb6U1CeBxBMcHE43omya97xirAEbxNcCM6l3jscC8JYggCtEvw6QQioX4JuPWfheBZ0pSCtXJIB6QwPJftGdEQHenliJtA3ZTfsCvJFFXnTS8G/koIzLlSw5a06d1NTxmwoQbgeNxU3pRMhydH7hGPIPN4d4QcixUld8p1WstFXrEGqszWE7huTLV3nOlj2OrA/532ssNoxdZ6vP3bqD70AVE7a9WQhgxTl2W06xHkr/5gN+iUbNIPGxgRhpaQP05rN4TJ3+MCpujECx2kxp+mhLYDXdU+kQ/v8mIsEpI6AXXkgKsLr0QLp1J/fydJGaUIlo/tWHTJSS6PmoykUBlQCQDQn2Sq+k2z5oMDoyLWigwjK2xG1GEBcOVEt/35M4TDDOcqbVRDMGE4wZzEwr6KMvffVkMJRzizRS8xwA4JgXoEp5jwC5rWDuXi/+/Rm93kbAvcwzNd/YZiHALkacJjGfmUBrVEEDbmr4dWu2L4NIeEM+0pCDob0PCRASz2qhY1jwT/o/N58Z0OG9D/Nd7B91wY1YN9aP5/xPP1V4J/xXMgpx+1Zznwi2YGOHfzSQTwdJLWDR1gF7pp0poP4rbx0kKh23BWz18Q/tzjIgnC+WhtgOxd+Cmd1+PjRR19++U3oBw=="),
 this.addDataEntry("gmdl google media design library tab editable steps",704,72,"Editable Steps","5VfRbpswFP0aHhcZm5DkNcnal1aq1Ic9u3ABqwYj43bk72djk4ZBVqpgbdKwEtnH9uX6HPsAATmU7b2kdfEoUuAB+R6QgxRC2VrZHoDzACOWBuQYYIz0L8B3V3rDrhfVVEKl5kzAdsI75W9gEQs06sQd0BS0NlUJiQ65b5QUr3AQXEgNVqLSffuMcd5DASZZd2ncRQepoL2aYQe59O5BlKDkSQ/5yVJV2BEbFNlpBbC8cNM2LlXa2HZ+nvqxXl1xS55ePhkt/xm4WSdGCS1ryvLKkAFKsSpvrlKjg7K6gZnsRHi7vosMLip1gaPu0jinL8CfRMMUE5Vh3i56T7nJhxw5ZJ0SNU10Wg9d6xgiF/HZ5RfO5R9/yj+eoL/HJHCq2DsMwk9p4u7wJFhl+G2HYU7DZh9AZJlmfyTpOc1ZKkefb/KUNgWY4YbFXtayzc3BXOVlyleQMj/bn0zT7yag1XpA0Ll9IU+IxvL02I3yfBvevW8uKs96vgdxVo1PmWb8pSvLbfidP0YxigeUktADpfGI0oMEqsDcxzgaTfVfLsVbvZCn7cAUL57273sY+U1SLya2WcLEkgKS16kDdLYs2/PD8Ybn8h/fbmLYn4kN5fFiYtv/ysSiGPk3sd2IUuLZrb724P6rnrOOt/49p98tf3yO3Pi54KB577YXWm2RKctpFU69RS0l1g4vLpZufnwm2uGXX5G/AA=="),
 this.addDataEntry("gmdl google media design library tab noneditable non editable steps",704,72,"Non-editable Steps","5VdNb5wwEP01HLMyNuzHdXebXFIpUg49OzCAFYORcVL239fGZgMFukQFVVWwdoXHnvHMe/az8Mgprx8kLbPvIgbukW8eOUkhlH3L6xNw7mHEYo+cPYyR/nn4fmLUb0ZRSSUUao4Dtg7vlL+BtVhDpS7cGaqMluZVQqRDHislxSucBBdSGwtR6LFjwjhvTR4mSfNou4sOUkE9mWFjcuk9gMhByYue8pPFKrMzdiiwbhmwNHNuO5cqrWw/vbp+1KtfXMnj5ZNB+c/ATZ0YRTQvKUsLAwYoxYq0moRGB2VlBTPRCfA+vA+MXRSqY0fNo+2cvgB/EhVTTBQGeVv0kXKTDzlzSBomShrptB6b3tlHc/HGN/HGI3C3NgmcKvYOvfBjHLgVngQrDJ51P8yl320DiCTRaA8ovKY5i9Xg9qaOaZWBmW5Qa2nM69QcxE2ax3wTZRC9Dhjtbm478sPBhufCT8bhdw5oE/YAuvY79Ph4SI+PFqHnbttb/S5cgZ5wvuZwVgxPlebgpWnLbfgDWg1RjPqQEn8FSLcDSKcxXUasPifx/1RyyG8MrKI5uwEDJwlUgVnH3CE01n+pFG/lX1+wrWni9rh9SxjPZ7e+vyCFaOQULcUhQetzuP9SwhRs+5CuIkyHAaRkIWE6gGn/tTCF2/36m7rdLX9UpmUUaZ7ydLjaI9OW48r311Og8IAXJ0t3Pz717PTul+Av"),
 this.addDataEntry("gmdl google media design library tab mobile step text",358,642,"Mobile step (text)","3Zhdj6IwFIZ/DZeaQvnQS8VxLvYjm51Jdu82HSkfmUJJ6c7q/vottCAIjKiwMxmMxh562vI+ffWABt14f89QGn6hHiYavNOgyyjl8lu8dzEhmgEiT4MbzTCAeGvGtuesXpwFKWI44UMSDJnwgshvLCMykPEDUQEPZSHOuwMNrrMQpXmc4Z0Yf+1HhLiUUFZ0hetN/sq7cUafcXkmoYnIWaupMON437vcIqTWeo9pjDk7iC5/Io+Hsge0FjItxFEQqjTbVAtHmQwEVe7x6sUXJUC3GLAlhi7WsoLgIk0QiYIkb8rVnWoEoe1s7D6NfJrwWudtceSdU7SLkuC7umLzGHqkqQjoKvdBrRGU7ehv3tShaDOcidYPpaQ+lIhxHRHDlDGGCeLRC26Mfwsl88otG++D3GbzIPbInNP01xNiN21V2C1MM+GgXDi3ZLsmm2m3VdMvVU3N/41GYlnV5LOl0Zh+5jRHoL6fYd5SvbqKQSCsFgiXYcTxRW7pdkHTMqaxsLZm5w6u7XEDnPePNMtSBHK20Q6RlXIrz89U3iXY58esz0Vr4xgTW8ayb4N/aDpvVNj2GK5LGfaxkGmHs4Ho/eIYqrt1VvdSm4bnbpR93xympAAmoOC0KDxwnIqIuCxAffFhj+4+38pf59xX/MOcuA8Ux0ju0+2J3WcuRnHfYgruiw732YQXioj5wHrlfnpH4O3i6OAcR56XL29i1IdGwn8CP1vaE5Bftsh/vfv5KKmLPRDwSqqxyKvQhNDLyvikqB2OfTGk8qph1wEYH3tZalWDj8pdB1f+4V5g8Or3edw7g7dxXznOuBT0McqeJ7R7biGpFzd9XGRGyWVw+Sn3Tq8/wLws3V+5OdG7CqWRbk6cxuyT3JvoAx5slKxEZpRm+F0R+viA2g9begF1/qS9JR3no+ERzeMzR9m9/kjyHw=="),
@@ -5208,8 +5216,8 @@ new mxGeometry(5,12,115,13),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.anchor;f
 null),this.createVertexTemplateEntry(a+"iProgressBar;barPos=40;",150,10,"","Progress bar",null,null,null),this.createVertexTemplateEntry(a+"iCloudProgressBar;barPos=20;",150,10,"","Cloud progress bar",null,null,null),this.createVertexTemplateEntry(d+"iDownloadBar;verticalAlign=top;spacingTop=-4;fontSize=8;fontColor=#ffffff;buttonText=;barPos=30;align=center;",174,30,"Downloading 2 of 6","Download bar",null,null,null),this.createVertexTemplateEntry(d+"iScreenNameBar;fillColor2=#000000;fillColor3=#ffffff;buttonText=;fontColor=#ffffff;fontSize=10;whiteSpace=wrap;align=center;",
 174,25,"Screen Name","Screen name bar",null,null,null),this.createVertexTemplateEntry(a+"iIconGrid;fillColor=#ffffff;strokeColor=#000000;gridSize=3,3;",150,150,"","Icon grid",null,null,null),this.createVertexTemplateEntry(d+"iCopy;fillColor=#000000;strokeColor=#000000;buttonText=;fontColor=#ffffff;spacingBottom=6;fontSize=9;fillColor2=#000000;fillColor3=#ffffff;align=center;",40,400*.06875,"Copy","Copy",null,null,null),this.addEntry(null,function(){var a=new mxCell("Copy",new mxGeometry(10,0,40,400*
 .06875),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.iCopy;fillColor=#000000;strokeColor=#000000;buttonText=;fontColor=#ffffff;spacingBottom=6;fontSize=9;fillColor2=#000000;fillColor3=#ffffff;align=center;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,400*.06875,60,52.5),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.rect;fillColor=#2266ff;strokeColor=none;opacity=30;");b.vertex=!0;return sb.createVertexTemplateFromCells([a,b],60,80,"Copy Area")}),this.createVertexTemplateEntry(a+"iHomePageControl;fillColor=#666666;strokeColor=#cccccc;",
-50,5,"","Home page control",null,null,null),this.createVertexTemplateEntry(a+"iPageControl;fillColor=#666666;strokeColor=#cccccc;",50,5,"","Page control",null,null,null)];this.addPalette("ios","iOS6",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addIos7Palette=function(){var a=this,d="ios icon ",e="html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.",b="mxgraph.ios7.icons";this.addPaletteFunctions("ios7icons","iOS Icons",!1,[this.createVertexTemplateEntry(e+"add;",30,30,"","Add",null,null,this.getTagsForStencil(b,"add",d).join(" ")),this.createVertexTemplateEntry(e+"alarm_clock;",27,
-30,"","Alarm Clock",null,null,this.getTagsForStencil(b,"alarm_clock",d).join(" ")),this.createVertexTemplateEntry(e+"back;",30,25.5,"","Back",null,null,this.getTagsForStencil(b,"back",d).join(" ")),this.createVertexTemplateEntry(e+"backward;",30,16.8,"","Backward",null,null,this.getTagsForStencil(b,"backward",d).join(" ")),this.createVertexTemplateEntry(e+"bag;",21,21,"","Bag",null,null,this.getTagsForStencil(b,"bag",d).join(" ")),this.createVertexTemplateEntry(e+"basket_cancel;",30,12,"","Basket Cancel",
+50,5,"","Home page control",null,null,null),this.createVertexTemplateEntry(a+"iPageControl;fillColor=#666666;strokeColor=#cccccc;",50,5,"","Page control",null,null,null)];this.addPalette("ios","iOS6",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addIos7Palette=function(){var a=this,d="ios icon ",e="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.",b="mxgraph.ios7.icons";this.addPaletteFunctions("ios7icons","iOS Icons",!1,[this.createVertexTemplateEntry(e+"add;",30,30,"","Add",null,null,this.getTagsForStencil(b,"add",d).join(" ")),this.createVertexTemplateEntry(e+"alarm_clock;",
+27,30,"","Alarm Clock",null,null,this.getTagsForStencil(b,"alarm_clock",d).join(" ")),this.createVertexTemplateEntry(e+"back;",30,25.5,"","Back",null,null,this.getTagsForStencil(b,"back",d).join(" ")),this.createVertexTemplateEntry(e+"backward;",30,16.8,"","Backward",null,null,this.getTagsForStencil(b,"backward",d).join(" ")),this.createVertexTemplateEntry(e+"bag;",21,21,"","Bag",null,null,this.getTagsForStencil(b,"bag",d).join(" ")),this.createVertexTemplateEntry(e+"basket_cancel;",30,12,"","Basket Cancel",
 null,null,this.getTagsForStencil(b,"basket_cancel",d).join(" ")),this.createVertexTemplateEntry(e+"basketball;",30,30,"","Basketball",null,null,this.getTagsForStencil(b,"basketball",d).join(" ")),this.createVertexTemplateEntry(e+"battery;",30,12,"","Battery",null,null,this.getTagsForStencil(b,"battery",d).join(" ")),this.createVertexTemplateEntry(e+"bell;",24,77*.3,"","Bell",null,null,this.getTagsForStencil(b,"bell",d).join(" ")),this.createVertexTemplateEntry(e+"bluetooth;",15,96*.3,"","Bluetooth",
 null,null,this.getTagsForStencil(b,"bluetooth",d).join(" ")),this.createVertexTemplateEntry(e+"book;",30,25.5,"","Book",null,null,this.getTagsForStencil(b,"book",d).join(" ")),this.createVertexTemplateEntry(e+"bookmark;",18,24,"","Bookmark",null,null,this.getTagsForStencil(b,"bookmark",d).join(" ")),this.createVertexTemplateEntry(e+"box;",30,30,"","Box",null,null,this.getTagsForStencil(b,"box",d).join(" ")),this.createVertexTemplateEntry(e+"briefcase;",30,67*.3,"","Briefcase",null,null,this.getTagsForStencil(b,
 "briefcase",d).join(" ")),this.createVertexTemplateEntry(e+"calculator;",24,30,"","Calculator",null,null,this.getTagsForStencil(b,"calculator",d).join(" ")),this.createVertexTemplateEntry(e+"calendar;",30,30,"","Calendar",null,null,this.getTagsForStencil(b,"calendar",d).join(" ")),this.createVertexTemplateEntry(e+"camera;",30,17.4,"","Camera",null,null,this.getTagsForStencil(b,"camera",d).join(" ")),this.createVertexTemplateEntry(e+"chat;",30,18,"","Chat",null,null,this.getTagsForStencil(b,"chat",
@@ -5406,278 +5414,317 @@ this.createVertexTemplateEntry(a+"text.captcha;fillColor=#ffffff;fontColor=#6666
 this.createVertexTemplateEntry("text;spacingTop=-5;fillColor=#ffffff;whiteSpace=wrap;html=1;align=left;fontSize=12;fontFamily=Helvetica;fillColor=none;strokeColor=none;",250,470,"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nSed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
 "Paragraph of Text",null,null,this.getTagsForStencil("mxgraph.mockup.text","peragraph of text","mockup text ").join(" ")),this.addEntry("mockup text table",function(){var a=new mxCell('<table cellpadding="4" cellspacing="0" border="1" style="font-size:1em;width:100%;height:100%;"><tr><th>Header 1</th><th>Header 2</th></tr><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr><tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></table> ',new mxGeometry(0,0,180,80),"verticalAlign=top;align=left;overflow=fill;fillColor=#ffffff;fontSize=12;fontFamily=Helvetica;html=1");
 a.vertex=!0;return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Table")})];this.addPalette("mockupText","Mockup Text",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addMSCAEPalette=function(){this.addMSCAEGeneralPalette();this.addMSCAECloudPalette();this.addMSCAEEnterprisePalette();this.addMSCAEGeneralSymbolsPalette();this.addMSCAEIntunePalette();this.addMSCAEOMSPalette();this.addMSCAEOpsManagerPalette();this.addMSCAEOtherPalette();this.addMSCAESystemCenterPalette();this.addMSCAEVMPalette();this.addMSCAEDeprecatedPalette();this.addMSCAECloudColorPalette();this.addMSCAEDeprecatedColorPalette()};Sidebar.prototype.addMSCAECloudPalette=
-function(){var a=this,d=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_b2b;fillColor=#0079D6;",50,50,"","Active Directory B2B",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2b","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_b2c;fillColor=#0079D6;",
-50,50,"","Active Directory B2C",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2c","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_domain_services;fillColor=#0079D6;",50,50,"","Active Directory Domain Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory domain services",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_health_monitoring;fillColor=#0079D6;",50,49,"","Active Directory Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.access_control;",
-50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","access control","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.advisor;fillColor=#0079D6;",50,50,"","Advisor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","advisor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
-100,100,"Affinity group","Affinity Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","affinity group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.analysis_service;fillColor=#0079D6;",50,40,"","Analysis Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","analysis service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.api_app;fillColor=#0079D6;",45,50,"","API App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.api_management;fillColor=#0079D6;",
-50,45,"","API Management",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api management","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.application_gateway;fillColor=#0079D6;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application gateway","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.app_service;fillColor=#0079D6;",50,50,"","App Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","app application service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.application_insights;fillColor=#0079D6;",
-32,50,"","Application Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.autoscale;",50,30,"","Autoscaling",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","autoscaling autoscale","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
-100,100,"Availability set","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.virtual_machines_availability_set;fillColor=#0079D6;",50,50,"","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machines availability set",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure;fillColor=#0079D6;",50,32,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor=#0079D6;",
-50,33,"","Azure Automatic Load Balancer",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","automatic load balancer","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory;fillColor=#0079D6;",47,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure active directory","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_alert;",50,42,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure alert","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.automation;",
-50,45,"","Azure Automation",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure automation","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_batch;fillColor=#0079D6;",50,43,"","Azure Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_cache;",
-45,50,"","Azure Cache including Redis",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure cache including redis","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_files_service;fillColor=#0079D6;",50,43,"","Azure Files Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","files service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_load_balancer_feature;fillColor=#0079D6;",50,50,"","Azure Load Balancer (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","load balancer feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_logo;fillColor=#0079D6;",
-50,50,"","Azure Logo",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure logo","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure marketplace","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#0079D6;",
-40,50,"","Azure Rights Management (RMS)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rights management rms","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_sdk;",50,47,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sdk software development kit","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_search;fillColor=#0079D6;",50,35,"","Azure Search",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","search","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_database_sql_azure;",
-47,50,"","Azure SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_storage;fillColor=#0079D6;",50,43,"","Azure Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_subscription;",
-50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure subscription","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.hyper_v_recovery_manager;",50,45,"","Backup",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.backup_service;",
-50,45,"","Backup Agent",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup agent","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.batch;fillColor=#0079D6;",49,46,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.bitbucket_code_source;",
-42,50,"","Bitbucket Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bitbucket code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.biztalk_services;",50,50,"","Biztalk Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","biztalk services","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.blockchain;fillColor=#0079D6;",50,38,"","Blockchain",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","blockchain","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.bot_services;fillColor=#0079D6;",
-48,48,"","Bot Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bot services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.building_block;fillColor=#0079D6;",50,44,"","Building Block",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","building block","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.c_series;fillColor=#0079D6;",
-49,50,"","C-Series",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","c series","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;",44,50,"","Central",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","central","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cloud_office_365;fillColor=#DF3C01;",
-50,30,"","Cloud Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.codeplex_code_source;",
-50,37,"","CodePlex",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","codeplex","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cognitive_services;fillColor=#0079D6;",50,30,"","Cognitive Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cognitive services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.container_registry;fillColor=#0079D6;",
-50,43,"","Container Registry",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container registry","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.container_service;fillColor=#0079D6;",50,36,"","Container Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.content_delivery_network;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","content delivery network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cortona_management_suite;fillColor=#0079D6;",
-50,50,"","Cortona Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cortona management suite","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cosmos_db;fillColor=#0079D6;",50,50,"","Cosmos DB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cosmos db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.customer_insights;fillColor=#0079D6;",
-48,50,"","Customer Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","customer insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_bricks;fillColor=#0079D6;",49,50,"","Data Bricks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data bricks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_catalog;fillColor=#0079D6;",
-32,37,"","Data Catalog",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data catalog","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_factory;fillColor=#0079D6;",50,50,"","Data Factory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data factory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake;fillColor=#0079D6;",
-30,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake_analytics;fillColor=#0079D6;",50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake_store;fillColor=#0079D6;",
-50,39,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake store","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;",72,70,"","Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data warehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.devtest_labs;fillColor=#0079D6;",
-50,49,"","DevTest Labs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","devtest labs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_dns;fillColor=#0079D6;",50,50,"","DNS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dns","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.docdb_account;fillColor=#0079D6;",
-47,50,"","DocDB Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb account doc database db document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.docdb_collections;fillColor=#0079D6;",44,50,"","DocDB Collections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb collections doc db database document",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.document;fillColor=#0079D6;",43,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;",
-38,50,"","DocumentDB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.code_file;fillColor=#0079D6;",48,50,"","DocumentDB Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.dps;fillColor=#0079D6;",48,50,"","DPS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dps","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.dropbox_code_source;",
-50,47,"","Dropbox Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dropbox code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.event_grid;fillColor=#0079D6;",50,50,"","Event Grid",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event grid","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.event_hubs;fillColor=#0079D6;",
-49,50,"","Event Hubs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event_hubs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","express route","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.functions;fillColor=#0079D6;",
-50,46,"","Functions",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","functions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.gateway;fillColor=#0079D6;",44,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.git_repository;",
-50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","git repository","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.github_code;",50,50,"","GitHub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","github code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hdinsight;fillColor=#0079D6;",
-50,36,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hdisight hd insight","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;",50,29,"","HockeyApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hockeyapp","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hybrid_connection_manager;fillColor=#0079D6;",
-50,35,"","Hybrid Connection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connection manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hybrid_connections;fillColor=#0079D6;",47,50,"","Hybrid Connections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connections","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.iot_edge;fillColor=#0079D6;",50,50,"","IoT Edge",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot edge internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.iot;fillColor=#0079D6;",
-50,50,"","IoT",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.key_vault;fillColor=#0079D6;",49,50,"","Key Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","key vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.logic_app;fillColor=#0079D6;",
-50,50,"","Logic App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.logic_apps;fillColor=#0079D6;",50,39,"","Logic Apps",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic apps applications","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning2;fillColor=#0079D6;",
-47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_service_plans;fillColor=#0079D6;",47,50,"","Machine Learning - Service Plans",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning service plans","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_web_services;fillColor=#0079D6;",50,50,"","Machine Learning - Web Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning web services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_work_spaces;fillColor=#0079D6;",
-50,50,"","Machine Learning - Work Spaces",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning work spaces","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.managed_applications;fillColor=#0079D6;",44,50,"","Managed Applications",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed applications","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.managed_discs;fillColor=#0079D6;",46,50,"","Managed Discs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed discs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.management_portal;fillColor=#0079D6;",
-50,42,"","Management Portal",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","management portal","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.media_service;",45,50,"","Media Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","media services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.microsoft_account;fillColor=#0079D6;",
-50,50,"","MS Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.microsoft_azure;fillColor=#000000;",50,32,"","MS Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.mobile_app;fillColor=#0079D6;",
-30,50,"","Mobile App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.mobile_engagement;fillColor=#0079D6;",30,50,"","Mobile Engagement",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile engagement","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.monitor;fillColor=#0079D6;",50,50,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.multi_factor_authentication;",
-25,50,"","Multi-Factor Authentication",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","multi factor authentication","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.mysql_database;",37,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mysql database","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.network_watcher;fillColor=#0079D6;",50,50,"","Network Watcher",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","network watcher","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.notification_hub;",
-50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification hub","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.nsg;fillColor=#0079D6;",36,50,"","NSG",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","nsg","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.office_365;fillColor=#DF3C01;",
-42,50,"","Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.office_365_subscription;fillColor=#DF3C01;",50,34,"","Office 365 Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365 subscription","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.oms_log_analytics;fillColor=#0079D6;",50,50,"","OMS Log Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","oms log analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0079D6;",
-50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","operational insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.operating_system_image;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","os operating system image","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.power_bi_embedded;fillColor=#000000;",47,50,"","Power BI Embedded",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","power bi embedded","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.recovery_vault;fillColor=#0079D6;",
-50,50,"","Recovery Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","recovery vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.remoteapp;fillColor=#0079D6;",50,50,"","RemoteApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","remoteapp remote app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.resource_group;fillColor=#0079D6;",
-50,41,"","Resource Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","resource group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.route_filters;fillColor=#0079D6;",50,42,"","Route Filters",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","route filters","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.runbooks;fillColor=#0079D6;",
-46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","runbooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","scheduler","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.security_center;fillColor=#0079D6;",
-37,50,"","Security Center",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","security center","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;",50,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_bus_relay2;fillColor=#0079D6;",
-50,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus relay","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus topic","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_endpoint;fillColor=#0079D6;",50,9,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_endpoint2;fillColor=#0079D6;",
-32,12,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_fabric;fillColor=#0079D6;",50,50,"","Service Fabric",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service fabric","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.site_recovery;fillColor=#0079D6;",
-37,31,"","Site Recovery",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","site recovery","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.snapshot;fillColor=#0079D6;",65,55,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","snapshot","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_datasync;",
-37,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datasync","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_database;",37,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_database_premium;fillColor=#0079D6;",
-28,38,"","SQL Database Premium",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database premium","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_datawarehouse;fillColor=#0079D6;",50,49,"","SQL DataWarehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datawarehouse","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_elastic_database_pools;fillColor=#0079D6;",50,50,"","SQL Elastic Database Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql elastic database pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_stretch_database;fillColor=#0079D6;",
-50,37,"","SQL Stretch Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql stretch database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.stack;fillColor=#0079D6;",50,50,"","Stack",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.startup_task;",
-47,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","startup task","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage;fillColor=#0079D6;",50,43,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_cs;fillColor=#0079D6;",
-50,45,"","Storage cs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage cs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_blob;",50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage blob","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_files;fillColor=#0079D6;",
-50,43,"","Storage Files",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage files","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage queue","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_sync_services;fillColor=#0079D6;",
-50,50,"","Storage Sync Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage sync services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storsimple;",
-50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storsimple","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.stream_analytics;fillColor=#0079D6;",50,39,"","Stream Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stream analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.tags;fillColor=#0079D6;",
-50,50,"","Tags",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","tags","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.time_series_insights;fillColor=#0079D6;",50,50,"","Time Series Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","time series insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.traffic_manager;",
-50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","traffic manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.unidentified_code_object;",50,41,"","Unidentified Feature Object",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","unidentified feature object","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vhd;fillColor=#0079D6;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.vhd_data_disk;",
-37,50,"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd data disk","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_machine;",50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.virtual_machine_container;fillColor=#0079D6;",
-50,44,"","Virtual Machine Container",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine container","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;",50,27,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,
-100,"","Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,100,"","Smart Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.addEntry("ms microsoft cloud enterprise smart virtual network box",
-function(){var d=new mxCell("",new mxGeometry(0,0,150,100),"shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;");d.vertex=!0;var b=new mxCell("Virtual Network",new mxGeometry(1,1,30,18),"shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;fontSize=12;fontColor=#0078D7;align=right;");b.geometry.relative=!0;b.geometry.offset=
-new mxPoint(-20,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width+10,d.geometry.height+10,"Smart Virtual Network Box")}),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.visual_studio_online;",50,37,"","Visual Studio Team Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","visual studio online","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vm_scale_set;fillColor=#0079D6;",50,50,"","VM Scale Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vm virtual machine scale set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vpn_gateway;fillColor=#0079D6;",
-32,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vpn_gateway2;fillColor=#0079D6;",45,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_website;",50,50,"","WebApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.webhooks;fillColor=#0079D6;",
-50,46,"","Webhooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webhooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.web_roles;",
-50,41,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web roles","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.webjobs;fillColor=#0079D6;",50,49,"","WebJobs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webjobs web jobs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.work_account;fillColor=#0079D6;",
-50,50,"","Work Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","work account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.worker_pools;fillColor=#0079D6;",50,50,"","Worker Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.worker_role;",
-50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.worker_roles;",50,41,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker roles","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeCloud",
-"CAE / Cloud",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addMSCAEDeprecatedPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.access_control;fillColor=#0078D7;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","access control","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.application;fillColor=#00188D;",
-50,33,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.application_gateway;fillColor=#0078D7;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application gateway","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.azure;fillColor=#00BCF2;",
-50,31,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","azure","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.batch;fillColor=#00188D;",42,41,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","batch","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.bot;fillColor=#00188D;",
-31,31,"","Bot",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","bot","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#00BCF2;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#00188D;",
-47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#00BCF2;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#00188D;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#0078D7;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated",
-"cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.compute;fillColor=#00188D;",33,24,"","Compute",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","compute","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.content_delivery_network;fillColor=#0078D7;",
-50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","content delivery network","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake;fillColor=#0078D7;",39,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake_analytics;fillColor=#0078D7;",
-50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake analytics","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake_store;fillColor=#0078D7;",50,50,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake store","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_services;fillColor=#00188D;",
-27,35,"","Data Services",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data services","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file_2;fillColor=#7F7F7F;",47,50,"","File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","file","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.hdinsight;fillColor=#00BEF2;",
-50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","hdinsight hd insight","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.machine_learning;fillColor=#0078D7;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","machine learning","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
-50,40,"","Management Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","management certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.notification_topic;fillColor=#0078D7;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","notification topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0078D7;",
-50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","operational insights","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.operating_system_image;fillColor=#0079D6;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","os operating system image","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.poster_arrow;fillColor=#00BCF2;",
-20,50,"","Poster Arrow",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","poster arrow","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus;fillColor=#0078D7;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_queues;fillColor=#0078D7;",
-42,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus queues","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_relay;fillColor=#0078D7;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus relay","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_topics_and_subscriptions;fillColor=#0078D7;",
-45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",50,40,"","Service Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.sql_data_warehouse;fillColor=#0078D7;",
-44,50,"","SQL Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql data warehouse","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.sql_server_stretch_db;fillColor=#0078D7;",50,49,"","SQL Server Stretch DB",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql server stretch db database","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.sql_reporting;fillColor=#0078D7;",
-40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql reporting","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.vhd;fillColor=#0078D7;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","vhd virtual hard drive","ms microsoft cloud enterprise deprecated ").join(" "))];this.addPalette("mscaeDeprecated","CAE / (Deprecated)",!1,mxUtils.bind(this,
-function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEEnterprisePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.ad_fs;fillColor=#00188D;",40,50,"","AD FS",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","ad fs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.android_phone;fillColor=#7D7D7D;",
-30,50,"","Android Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","android phone mobile","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.app_generic;fillColor=#00188D;",50,39,"","App (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","app generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application;fillColor=#00188D;",
-50,34,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_blank;fillColor=#00188D;",50,43,"","Application (blank)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app blank","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_server;fillColor=#00188D;",
-43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_server2;fillColor=#00188D;",43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.backup_local;fillColor=#00188D;",
-49,50,"","Backup (local)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup local","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#00188D;",50,40,"","Backup (online)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.calendar;fillColor=#00188D;",
-50,41,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","calendar","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#7D7D7D;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","certificate","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.client_application;fillColor=#00188D;",
-50,32,"","Client Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","client application app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.cloud;fillColor=#7D7D7D;",50,32,"","Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cloud","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.cluster_server;fillColor=#00188D;",
-40,50,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cluster server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.code_file;fillColor=#7D7D7D;",47,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.connectors;fillColor=#00188D;",
-50,34,"","Connectors",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","connectors","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.d;fillColor=#00188D;",40,50,"","D",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","delta diff difference server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_generic;fillColor=#00188D;",
-37,50,"","Database (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_server;fillColor=#00188D;",38,50,"","Database (server)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_synchronization;fillColor=#00188D;",
-39,50,"","Database Synchronization",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","database synchronization sync db","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.device;fillColor=#00188D;",50,26,"","Device",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","Device","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.direct_access_feature;fillColor=#00188D;",
-50,44,"","Direct Access (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","direct access feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.document;fillColor=#7D7D7D;",40,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","document doc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.domain_controller;fillColor=#00188D;",
-36,50,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","domain controller","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.enterprise;fillColor=#00188D;",30,50,"","Enterprise Building",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","enterprise building","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#7D7D7D;",
-47,50,"","File general",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","file general","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.filter;fillColor=#00188D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","filter","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.firewall;fillColor=#00188D;",
-50,44,"","Firewall",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","firewall","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.gateway;fillColor=#00188D;",
-50,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.code_file;fillColor=#00188D;",47,50,"","Generic Code",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","generic code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.code_file;fillColor=#00188D;",
-49,50,"","Generic Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.health_monitoring;fillColor=#7D7D7D;",50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.healthy;fillColor=#7D7D7D;",
-50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.healthy;fillColor=#0078D7;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.import_generic;fillColor=#00188D;",
-40,50,"","Import (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","import generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet;fillColor=#7D7D7D;",50,31,"","Internet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet_hollow;fillColor=#7D7D7D;",
-50,31,"","Internet (hollow)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet hollow","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.iphone;fillColor=#7D7D7D;",31,50,"","iPhone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","iphone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.key_permissions;fillColor=#7D7D7D;",
-26,50,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","key permissions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.keyboard;fillColor=#7D7D7D;",50,30,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","keyboard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.laptop;fillColor=#7D7D7D;",
-50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","laptop computer pc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.load_balancer_generic;fillColor=#00188D;",37,50,"","Load Balancer (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.load_balancer_generic;fillColor=#ffffff;",
-37,50,"","Load Balancer (white)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.load_testing;fillColor=#00188D;",48,50,"","Load Testing",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load testing","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.lock;fillColor=#00188D;",
-39,50,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock protected","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.lock_unlocked;fillColor=#00188D;",37,50,"","Lock (unlocked)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock unlocked accessible","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.maintenance;fillColor=#00188D;",
-34,50,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","maintenance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.management_console;fillColor=#00188D;",50,34,"","Management Console",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","management console","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.message;fillColor=#7D7D7D;",
-50,37,"","Message",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","message","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.computer;fillColor=#7D7D7D;",50,45,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.monitor_running_apps;fillColor=#00188D;",
-50,39,"","Monitor Running Apps",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor running app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.mouse;fillColor=#7D7D7D;",30,50,"","Mouse",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.network_card;fillColor=#00188D;",
-50,35,"","Network Card",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","network card","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#00188D;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#EA1C24;",
-50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.pack;fillColor=#00188D;",50,45,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","pack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.performance;fillColor=#7D7D7D;",
-50,50,"","Performance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.performance_monitor;fillColor=#00188D;",50,36,"","Performance Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.mobile;fillColor=#7D7D7D;",
-35,50,"","Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mobile phone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#7D7D7D;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","plug play","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.powershell_file;fillColor=#00188D;",
-47,50,"","PowerShell Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","powershell script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.protocol_stack;fillColor=#00188D;",50,34,"","Protocol Stack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","protocol stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.queue_generic;fillColor=#00188D;",
-50,15,"","Queue (general)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","queue general generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.rdp_remoting_file;fillColor=#0078D7;",48,50,"","RPD Remoting File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rpd remoting file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.rms_connector;fillColor=#00188D;",
-38,50,"","RMS Connector",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rms connector","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.router;fillColor=#00188D;",50,39,"","Router",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","router","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.script_file;fillColor=#00188D;",
-47,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.secondary_site;fillColor=#00188D;",42,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secondary site","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.secure_virtual_machine;fillColor=#00188D;",
-50,38,"","Secure Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secure virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.server;fillColor=#00188D;",50,15,"","Server (blade)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server blade","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_generic;fillColor=#00188D;",
-24,50,"","Server (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_directory;fillColor=#00188D;",36,50,"","Server Directory",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server directory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_farm;fillColor=#00188D;",
-50,32,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server farm","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.server_rack;fillColor=#00188D;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server rack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.settings;fillColor=#00188D;",
-50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","settings","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.shared_folder;fillColor=#00188D;",43,50,"","Shared Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","shared folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.smartcard;fillColor=#00188D;",
-50,32,"","SmartCard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","smartcard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.storage;fillColor=#00188D;",50,41,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.stored_procedures;fillColor=#0078D7;",
-47,50,"","Stored Procedures",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","stored procedures","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.table;fillColor=#00188D;",50,50,"","Table",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.tablet;fillColor=#7D7D7D;",
-50,37,"","Tablet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tablet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.tool;fillColor=#7D7D7D;",50,45,"","Tool",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tool","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.triggers;fillColor=#0078D7;",
-47,50,"","Triggers",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","triggers","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#00188D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tunnel","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.udf_function;fillColor=#0078D7;",
-47,50,"","UDF Function",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","udf function","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.unhealthy;fillColor=#00188D;",50,41,"","Unhealthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","unhealthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.usb;fillColor=#00188D;",
-50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","usb","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#00188D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.user_permissions;fillColor=#0078D7;",
+function(){var a=this,d=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_b2b;fillColor=#0079D6;",50,50,"","Active Directory B2B",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2b","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_b2c;fillColor=#0079D6;",
+50,50,"","Active Directory B2C",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2c","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_domain_services;fillColor=#0079D6;",50,50,"","Active Directory Domain Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory domain services",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_health_monitoring;fillColor=#0079D6;",50,49,"","Active Directory Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.access_control;",
+50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","access control","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.advisor;fillColor=#0079D6;",50,50,"","Advisor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","advisor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
+100,100,"Affinity group","Affinity Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","affinity group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.analysis_service;fillColor=#0079D6;",50,40,"","Analysis Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","analysis service","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.api_app;fillColor=#0079D6;",45,50,"","API App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.api_management;fillColor=#0079D6;",
+50,45,"","API Management",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api management","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.application_gateway;fillColor=#0079D6;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application gateway","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.app_service;fillColor=#0079D6;",50,50,"","App Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","app application service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.application_insights;fillColor=#0079D6;",
+32,50,"","Application Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.autoscale;",50,30,"","Autoscaling",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","autoscaling autoscale","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",100,100,"Availability set","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.virtual_machines_availability_set;fillColor=#0079D6;",
+50,50,"","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machines availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure;fillColor=#0079D6;",50,32,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor=#0079D6;",
+50,33,"","Azure Automatic Load Balancer",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","automatic load balancer","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory;fillColor=#0079D6;",47,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure active directory","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_alert;",50,42,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure alert","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.automation;",
+50,45,"","Azure Automation",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure automation","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_batch;fillColor=#0079D6;",50,43,"","Azure Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_cache;",
+45,50,"","Azure Cache including Redis",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure cache including redis","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_files_service;fillColor=#0079D6;",50,43,"","Azure Files Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","files service","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_load_balancer_feature;fillColor=#0079D6;",50,50,"","Azure Load Balancer (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","load balancer feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_logo;fillColor=#0079D6;",
+50,50,"","Azure Logo",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure logo","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure marketplace","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#0079D6;",
+40,50,"","Azure Rights Management (RMS)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rights management rms","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_sdk;",50,47,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sdk software development kit","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_search;fillColor=#0079D6;",50,35,"","Azure Search",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","search","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_database_sql_azure;",
+47,50,"","Azure SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_storage;fillColor=#0079D6;",50,43,"","Azure Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure subscription","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.hyper_v_recovery_manager;",
+50,45,"","Backup",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.backup_service;",50,45,"","Backup Agent",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup agent","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.batch;fillColor=#0079D6;",
+49,46,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.bitbucket_code_source;",42,50,"","Bitbucket Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bitbucket code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.biztalk_services;",
+50,50,"","Biztalk Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","biztalk services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.blockchain;fillColor=#0079D6;",50,38,"","Blockchain",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","blockchain","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.bot_services;fillColor=#0079D6;",
+48,48,"","Bot Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bot services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.building_block;fillColor=#0079D6;",50,44,"","Building Block",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","building block","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.c_series;fillColor=#0079D6;",
+49,50,"","C-Series",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","c series","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;",44,50,"","Central",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","central","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cloud_office_365;fillColor=#DF3C01;",
+50,30,"","Cloud Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.codeplex_code_source;",
+50,37,"","CodePlex",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","codeplex","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cognitive_services;fillColor=#0079D6;",50,30,"","Cognitive Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cognitive services","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.container_registry;fillColor=#0079D6;",50,43,"","Container Registry",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container registry","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.container_service;fillColor=#0079D6;",
+50,36,"","Container Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.content_delivery_network;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","content delivery network","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cortona_management_suite;fillColor=#0079D6;",50,50,"","Cortona Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cortona management suite","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cosmos_db;fillColor=#0079D6;",
+50,50,"","Cosmos DB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cosmos db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.customer_insights;fillColor=#0079D6;",48,50,"","Customer Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","customer insights","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_bricks;fillColor=#0079D6;",49,50,"","Data Bricks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data bricks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_catalog;fillColor=#0079D6;",
+32,37,"","Data Catalog",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data catalog","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_factory;fillColor=#0079D6;",50,50,"","Data Factory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data factory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake;fillColor=#0079D6;",
+30,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake_analytics;fillColor=#0079D6;",50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake analytics","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake_store;fillColor=#0079D6;",50,39,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake store","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;",
+72,70,"","Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data warehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.devtest_labs;fillColor=#0079D6;",50,49,"","DevTest Labs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","devtest labs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_dns;fillColor=#0079D6;",
+50,50,"","DNS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dns","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.docdb_account;fillColor=#0079D6;",47,50,"","DocDB Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb account doc database db document","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.docdb_collections;fillColor=#0079D6;",44,50,"","DocDB Collections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb collections doc db database document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.document;fillColor=#0079D6;",
+43,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;",38,50,"","DocumentDB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#0079D6;",
+48,50,"","DocumentDB Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.dps;fillColor=#0079D6;",48,50,"","DPS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dps","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.dropbox_code_source;",
+50,47,"","Dropbox Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dropbox code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.event_grid;fillColor=#0079D6;",50,50,"","Event Grid",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event grid","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.event_hubs;fillColor=#0079D6;",
+49,50,"","Event Hubs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event_hubs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","express route","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.functions;fillColor=#0079D6;",
+50,46,"","Functions",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","functions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.gateway;fillColor=#0079D6;",44,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.git_repository;",
+50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","git repository","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.github_code;",50,50,"","GitHub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","github code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hdinsight;fillColor=#0079D6;",
+50,36,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hdisight hd insight","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;",50,29,"","HockeyApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hockeyapp","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hybrid_connection_manager;fillColor=#0079D6;",
+50,35,"","Hybrid Connection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connection manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hybrid_connections;fillColor=#0079D6;",47,50,"","Hybrid Connections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connections","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.iot_edge;fillColor=#0079D6;",50,50,"","IoT Edge",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot edge internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.iot;fillColor=#0079D6;",
+50,50,"","IoT",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.key_vault;fillColor=#0079D6;",49,50,"","Key Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","key vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.logic_app;fillColor=#0079D6;",
+50,50,"","Logic App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.logic_apps;fillColor=#0079D6;",50,39,"","Logic Apps",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic apps applications","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning2;fillColor=#0079D6;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_service_plans;fillColor=#0079D6;",
+47,50,"","Machine Learning - Service Plans",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning service plans","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_web_services;fillColor=#0079D6;",50,50,"","Machine Learning - Web Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud",
+"machine learning web services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_work_spaces;fillColor=#0079D6;",50,50,"","Machine Learning - Work Spaces",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning work spaces","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.managed_applications;fillColor=#0079D6;",
+44,50,"","Managed Applications",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed applications","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.managed_discs;fillColor=#0079D6;",46,50,"","Managed Discs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed discs","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.management_portal;fillColor=#0079D6;",50,42,"","Management Portal",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","management portal","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.media_service;",
+45,50,"","Media Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","media services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.microsoft_account;fillColor=#0079D6;",50,50,"","MS Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft account","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.microsoft_azure;fillColor=#000000;",50,32,"","MS Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.mobile_app;fillColor=#0079D6;",
+30,50,"","Mobile App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.mobile_engagement;fillColor=#0079D6;",30,50,"","Mobile Engagement",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile engagement","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.monitor;fillColor=#0079D6;",50,50,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.multi_factor_authentication;",
+25,50,"","Multi-Factor Authentication",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","multi factor authentication","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.mysql_database;",37,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mysql database","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.network_watcher;fillColor=#0079D6;",50,50,"","Network Watcher",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","network watcher","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.notification_hub;",
+50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification hub","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.nsg;fillColor=#0079D6;",36,50,"","NSG",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","nsg","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.office_365;fillColor=#DF3C01;",
+42,50,"","Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.office_365_subscription;fillColor=#DF3C01;",50,34,"","Office 365 Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365 subscription","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.oms_log_analytics;fillColor=#0079D6;",50,50,"","OMS Log Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","oms log analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0079D6;",
+50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","operational insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.operating_system_image;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","os operating system image","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.power_bi_embedded;fillColor=#000000;",47,50,"","Power BI Embedded",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","power bi embedded","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.recovery_vault;fillColor=#0079D6;",
+50,50,"","Recovery Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","recovery vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.remoteapp;fillColor=#0079D6;",50,50,"","RemoteApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","remoteapp remote app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.resource_group;fillColor=#0079D6;",
+50,41,"","Resource Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","resource group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.route_filters;fillColor=#0079D6;",50,42,"","Route Filters",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","route filters","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.runbooks;fillColor=#0079D6;",
+46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","runbooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","scheduler","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.security_center;fillColor=#0079D6;",
+37,50,"","Security Center",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","security center","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;",50,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_bus_relay2;fillColor=#0079D6;",
+50,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus relay","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus topic","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_endpoint;fillColor=#0079D6;",50,9,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_endpoint2;fillColor=#0079D6;",
+32,12,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_fabric;fillColor=#0079D6;",50,50,"","Service Fabric",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service fabric","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.site_recovery;fillColor=#0079D6;",37,31,"","Site Recovery",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","site recovery","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.snapshot;fillColor=#0079D6;",
+65,55,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","snapshot","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_datasync;",37,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datasync","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_database;",
+37,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_database_premium;fillColor=#0079D6;",28,38,"","SQL Database Premium",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database premium","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_datawarehouse;fillColor=#0079D6;",50,49,"","SQL DataWarehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datawarehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_elastic_database_pools;fillColor=#0079D6;",
+50,50,"","SQL Elastic Database Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql elastic database pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_stretch_database;fillColor=#0079D6;",50,37,"","SQL Stretch Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql stretch database","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.stack;fillColor=#0079D6;",50,50,"","Stack",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.startup_task;",
+47,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","startup task","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage;fillColor=#0079D6;",50,43,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_cs;fillColor=#0079D6;",
+50,45,"","Storage cs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage cs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_blob;",50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage blob","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_files;fillColor=#0079D6;",
+50,43,"","Storage Files",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage files","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage queue","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_sync_services;fillColor=#0079D6;",
+50,50,"","Storage Sync Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage sync services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage table","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storsimple","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.stream_analytics;fillColor=#0079D6;",
+50,39,"","Stream Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stream analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.tags;fillColor=#0079D6;",50,50,"","Tags",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","tags","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.time_series_insights;fillColor=#0079D6;",
+50,50,"","Time Series Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","time series insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","traffic manager","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.unidentified_code_object;",50,41,"","Unidentified Feature Object",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","unidentified feature object","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vhd;fillColor=#0079D6;",
+40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.vhd_data_disk;",37,50,"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd data disk","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_machine;",
+50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.virtual_machine_container;fillColor=#0079D6;",50,44,"","Virtual Machine Container",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine container","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_network;",
+50,27,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,100,"","Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",
+150,100,"","Smart Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.addEntry("ms microsoft cloud enterprise smart virtual network box",function(){var d=new mxCell("",new mxGeometry(0,0,150,100),"shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;");d.vertex=!0;var b=new mxCell("Virtual Network",new mxGeometry(1,1,30,18),"shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;fontSize=12;fontColor=#0078D7;align=right;");
+b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width+10,d.geometry.height+10,"Smart Virtual Network Box")}),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.visual_studio_online;",50,37,"","Visual Studio Team Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud",
+"visual studio online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vm_scale_set;fillColor=#0079D6;",50,50,"","VM Scale Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vm virtual machine scale set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vpn_gateway;fillColor=#0079D6;",
+32,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vpn_gateway2;fillColor=#0079D6;",45,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_website;",50,50,"","WebApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.webhooks;fillColor=#0079D6;",
+50,46,"","Webhooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webhooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.web_roles;",
+50,41,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web roles","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.webjobs;fillColor=#0079D6;",50,49,"","WebJobs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webjobs web jobs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.work_account;fillColor=#0079D6;",
+50,50,"","Work Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","work account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.worker_pools;fillColor=#0079D6;",50,50,"","Worker Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.worker_role;",
+50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.worker_roles;",50,41,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker roles","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeCloud",
+"CAE / Cloud",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addMSCAEDeprecatedPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.access_control;fillColor=#0078D7;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","access control","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.application;fillColor=#00188D;",50,33,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.application_gateway;fillColor=#0078D7;",
+50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application gateway","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.azure;fillColor=#00BCF2;",50,31,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","azure","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.batch;fillColor=#00188D;",42,41,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","batch","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.bot;fillColor=#00188D;",
+31,31,"","Bot",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","bot","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#00BCF2;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#00188D;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#00BCF2;",
+44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#00188D;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg",
+"ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#0078D7;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.compute;fillColor=#00188D;",
+33,24,"","Compute",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","compute","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.content_delivery_network;fillColor=#0078D7;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","content delivery network","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake;fillColor=#0078D7;",39,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake_analytics;fillColor=#0078D7;",
+50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake analytics","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake_store;fillColor=#0078D7;",50,50,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake store","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_services;fillColor=#00188D;",27,35,"","Data Services",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data services","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file_2;fillColor=#7F7F7F;",
+47,50,"","File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","file","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.hdinsight;fillColor=#00BEF2;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","hdinsight hd insight","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning;fillColor=#0078D7;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","machine learning","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
+50,40,"","Management Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","management certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.notification_topic;fillColor=#0078D7;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","notification topic","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0078D7;",50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","operational insights","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.operating_system_image;fillColor=#0079D6;",
+50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","os operating system image","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.poster_arrow;fillColor=#00BCF2;",20,50,"","Poster Arrow",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","poster arrow","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus;fillColor=#0078D7;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_queues;fillColor=#0078D7;",
+42,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus queues","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_relay;fillColor=#0078D7;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus relay","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_topics_and_subscriptions;fillColor=#0078D7;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
+50,40,"","Service Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.sql_data_warehouse;fillColor=#0078D7;",44,50,"","SQL Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql data warehouse",
+"ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.sql_server_stretch_db;fillColor=#0078D7;",50,49,"","SQL Server Stretch DB",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql server stretch db database","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_reporting;fillColor=#0078D7;",
+40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql reporting","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.vhd;fillColor=#0078D7;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","vhd virtual hard drive","ms microsoft cloud enterprise deprecated ").join(" "))];
+this.addPalette("mscaeDeprecated","CAE / (Deprecated)",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEEnterprisePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.ad_fs;fillColor=#00188D;",40,50,"","AD FS",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","ad fs",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.android_phone;fillColor=#7D7D7D;",30,50,"","Android Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","android phone mobile","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.app_generic;fillColor=#00188D;",
+50,39,"","App (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","app generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application;fillColor=#00188D;",50,34,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_blank;fillColor=#00188D;",50,43,"","Application (blank)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app blank","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_server;fillColor=#00188D;",
+43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_server2;fillColor=#00188D;",43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.backup_local;fillColor=#00188D;",49,50,"","Backup (local)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup local","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#00188D;",
+50,40,"","Backup (online)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.calendar;fillColor=#00188D;",50,41,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","calendar","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#7D7D7D;",
+50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","certificate","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.client_application;fillColor=#00188D;",50,32,"","Client Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","client application app","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.cloud;fillColor=#7D7D7D;",50,32,"","Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cloud","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.cluster_server;fillColor=#00188D;",
+40,50,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cluster server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#7D7D7D;",47,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.connectors;fillColor=#00188D;",
+50,34,"","Connectors",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","connectors","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.d;fillColor=#00188D;",40,50,"","D",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","delta diff difference server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_generic;fillColor=#00188D;",
+37,50,"","Database (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_server;fillColor=#00188D;",38,50,"","Database (server)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database server","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_synchronization;fillColor=#00188D;",39,50,"","Database Synchronization",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","database synchronization sync db","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.device;fillColor=#00188D;",
+50,26,"","Device",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","Device","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.direct_access_feature;fillColor=#00188D;",50,44,"","Direct Access (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","direct access feature","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.document;fillColor=#7D7D7D;",40,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","document doc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.domain_controller;fillColor=#00188D;",
+36,50,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","domain controller","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.enterprise;fillColor=#00188D;",30,50,"","Enterprise Building",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","enterprise building","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#7D7D7D;",47,50,"","File general",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","file general","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.filter;fillColor=#00188D;",
+50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","filter","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.firewall;fillColor=#00188D;",50,44,"","Firewall",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","firewall","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
+50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.gateway;fillColor=#00188D;",50,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#00188D;",
+47,50,"","Generic Code",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","generic code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.code_file;fillColor=#00188D;",49,50,"","Generic Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.health_monitoring;fillColor=#7D7D7D;",50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.healthy;fillColor=#7D7D7D;",
+50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.healthy;fillColor=#0078D7;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.import_generic;fillColor=#00188D;",
+40,50,"","Import (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","import generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet;fillColor=#7D7D7D;",50,31,"","Internet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet_hollow;fillColor=#7D7D7D;",50,31,"","Internet (hollow)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet hollow","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.iphone;fillColor=#7D7D7D;",
+31,50,"","iPhone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","iphone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.key_permissions;fillColor=#7D7D7D;",26,50,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","key permissions","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.keyboard;fillColor=#7D7D7D;",50,30,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","keyboard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.laptop;fillColor=#7D7D7D;",
+50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","laptop computer pc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.load_balancer_generic;fillColor=#00188D;",37,50,"","Load Balancer (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.load_balancer_generic;fillColor=#ffffff;",37,50,"","Load Balancer (white)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.load_testing;fillColor=#00188D;",
+48,50,"","Load Testing",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load testing","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.lock;fillColor=#00188D;",39,50,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock protected","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.lock_unlocked;fillColor=#00188D;",37,50,"","Lock (unlocked)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock unlocked accessible","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.maintenance;fillColor=#00188D;",
+34,50,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","maintenance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.management_console;fillColor=#00188D;",50,34,"","Management Console",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","management console","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.message;fillColor=#7D7D7D;",50,37,"","Message",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","message","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.computer;fillColor=#7D7D7D;",
+50,45,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.monitor_running_apps;fillColor=#00188D;",50,39,"","Monitor Running Apps",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor running app application","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.mouse;fillColor=#7D7D7D;",30,50,"","Mouse",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.network_card;fillColor=#00188D;",
+50,35,"","Network Card",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","network card","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#00188D;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#EA1C24;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.pack;fillColor=#00188D;",
+50,45,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","pack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.performance;fillColor=#7D7D7D;",50,50,"","Performance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.performance_monitor;fillColor=#00188D;",
+50,36,"","Performance Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.mobile;fillColor=#7D7D7D;",35,50,"","Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mobile phone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#7D7D7D;",
+40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","plug play","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.powershell_file;fillColor=#00188D;",47,50,"","PowerShell Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","powershell script file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.protocol_stack;fillColor=#00188D;",50,34,"","Protocol Stack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","protocol stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.queue_generic;fillColor=#00188D;",
+50,15,"","Queue (general)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","queue general generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.rdp_remoting_file;fillColor=#0078D7;",48,50,"","RPD Remoting File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rpd remoting file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.rms_connector;fillColor=#00188D;",38,50,"","RMS Connector",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rms connector","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.router;fillColor=#00188D;",
+50,39,"","Router",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","router","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.script_file;fillColor=#00188D;",47,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.secondary_site;fillColor=#00188D;",
+42,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secondary site","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.secure_virtual_machine;fillColor=#00188D;",50,38,"","Secure Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secure virtual machine","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.server;fillColor=#00188D;",50,15,"","Server (blade)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server blade","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_generic;fillColor=#00188D;",
+24,50,"","Server (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_directory;fillColor=#00188D;",36,50,"","Server Directory",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server directory","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_farm;fillColor=#00188D;",50,32,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server farm","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.server_rack;fillColor=#00188D;",
+50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server rack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.settings;fillColor=#00188D;",50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","settings","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.shared_folder;fillColor=#00188D;",
+43,50,"","Shared Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","shared folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.smartcard;fillColor=#00188D;",50,32,"","SmartCard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","smartcard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.storage;fillColor=#00188D;",
+50,41,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.stored_procedures;fillColor=#0078D7;",47,50,"","Stored Procedures",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","stored procedures","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.table;fillColor=#00188D;",50,50,"","Table",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.tablet;fillColor=#7D7D7D;",
+50,37,"","Tablet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tablet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.tool;fillColor=#7D7D7D;",50,45,"","Tool",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tool","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.triggers;fillColor=#0078D7;",
+47,50,"","Triggers",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","triggers","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#00188D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tunnel","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.udf_function;fillColor=#0078D7;",
+47,50,"","UDF Function",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","udf function","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.unhealthy;fillColor=#00188D;",50,41,"","Unhealthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","unhealthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.usb;fillColor=#00188D;",
+50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","usb","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#00188D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.user_permissions;fillColor=#0078D7;",
 47,50,"","User Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user permissions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#00188D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","video","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.virtual_machine_feature;fillColor=#00188D;",
-50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.web;fillColor=#00188D;",50,50,"","Web",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.web_server;fillColor=#00188D;",
-38,50,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.website_generic;fillColor=#7D7D7D;",50,44,"","Website (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","website generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",
-48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.windows_server;fillColor=#00188D;",39,50,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.wireless_connection;fillColor=#00188D;",
-42,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","wireless connection","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.workstation_client;fillColor=#00188D;",50,50,"","Workstation Client",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","workstation client","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.xml_web_service;fillColor=#00188D;",
-50,50,"","XML Web Service",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","xml web service","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeEnterprise","CAE / Enterprise",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,50,"","Audio",null,null,
-this.getTagsForStencil("mxgraph.mscae.general","audio","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general","bug","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.enterprise;fillColor=#7D7D7D;",30,50,"","Building",
-null,null,this.getTagsForStencil("mxgraph.mscae.general","building enterprise","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=mxgraph.mscae.general.cable_settop_tv_box;strokeColor=#000000;fillColor=#7D7D7D;",50,24,"","Cable Settop TV Box",null,null,this.getTagsForStencil("mxgraph.mscae.general","cable settop tv television box","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",
-50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general","calendar","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general","chart","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.checkmark;fillColor=#91D250;",
-41,50,"","Checkmark (success)",null,null,this.getTagsForStencil("mxgraph.mscae.general","checkmark success","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","continuous cycle circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
-40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general","crossout failure","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general","cut and paste","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.filter;fillColor=#7D7D7D;",
-50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.general","filter","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general","folder","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",
-50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general","game controller gamepad","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general","gears","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",
-50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general","graph","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general","like","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.not_allowed;fillColor=#DE5900;",
-50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general","not allowed","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.pointer;fillColor=#91D250;",50,50,"","Pointer (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","pointer circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.slider_bar_horizontal;fillColor=#7D7D7D;",
-50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar horizontal hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.slider_bar_vertical;fillColor=#7D7D7D;",22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar vertical hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",
-38,47,"","Task List (backlog)",null,null,this.getTagsForStencil("mxgraph.mscae.general","task list backlog","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general","tasks","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
-50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general","tunnel","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.usb;fillColor=#7D7D7D;",50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.general","usb","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#7D7D7D;",
-47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general","user","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general","video","ms microsoft cloud enterprise general ").join(" "))];this.addPalette("mscaeGeneral","CAE / General",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAEGeneralSymbolsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.attachments;fillColor=#7D7D7D;",29,50,"","Attachments",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","attachments","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,
-50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","audio","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","bug","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cable_settop_tv_box;fillColor=#7D7D7D;",
-50,24,"","Cable Settop Box",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cable settop box","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","calendar","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
-50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","chart","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.checkmark;fillColor=#92D050;",41,50,"","Checkmark",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","checkmark","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.clock_time;fillColor=#0078D7;",
-50,50,"","Clock / Time",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","clock time","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","continuous cycle","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
-40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","crossout failure","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cut and paste","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.ellipses;fillColor=#0078D7;",
-50,7,"","Ellipses",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","ellipses","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.favorite;fillColor=#FDE57B;",14,20,"","Favorite",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","favorite","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
-50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","folder","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","game controller","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.gears;fillColor=#7D7D7D;",
-50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","gears","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","graph","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",
-50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","like","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#DD5900;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","not allowed","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
-25,25,"12","Numbered Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#E90D8B;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Magenta",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#FF8C00;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Orange",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered orange","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#C00000;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
-25,25,"1","Number Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.num_label_rotate;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"12","Numbered Label Rotate Pointer",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","num label rotate",
-"ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.premium_star;fillColor=#FDE57B;",12,11,"","Premium Star",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","premium star","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#7D7D7D;",
-81,30,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar horizontal","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#7D7D7D;",35,80,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar vertical","ms microsoft cloud enterprise general symbols ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",41,50,"","Task List",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","task list","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
-"tasks","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tunnel","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#7D7D7D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
-"user","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","video","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.waiting;fillColor=#7D7D7D;",46,50,"","Waiting",
-null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","waiting","ms microsoft cloud enterprise general symbols ").join(" "))];this.addPalette("mscaeGeneral Symbols","CAE / General Symbols",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEIntunePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.account_portal;fillColor=#505050;",43,50,"","Account Portal",
-null,null,this.getTagsForStencil("mxgraph.mscae.intune","account portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.administration;fillColor=#505050;",30,50,"","Administration",null,null,this.getTagsForStencil("mxgraph.mscae.intune","administration","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.alerts;fillColor=#505050;",
-50,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.intune","alerts","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.apps;fillColor=#505050;",50,50,"","Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","apps","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.certificate;fillColor=#505050;",
-50,49,"","Certificate (Compliance)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate compliance","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.client_software;fillColor=#505050;",50,45,"","Client Software Deployment Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","client software deployment wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.company_portal;fillColor=#505050;",
-50,38,"","Company Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","company portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.computer_inventory;fillColor=#505050;",50,45,"","Computer Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","computer inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.conditional_access_exchange;fillColor=#505050;",
-49,50,"","Conditional Access (Exchange)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access exchange","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.conditional_access_sharepoint;fillColor=#505050;",44,50,"","Conditional Access (Sharepoint)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access sharepoint","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.connector;fillColor=#505050;",50,17,"","Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.dashboard;fillColor=#505050;",50,40,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","dashboard","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.data_migration_wizard;fillColor=#505050;",50,48,"","Data Migration Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","data migration wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.detected_software;fillColor=#505050;",50,50,"","Detected Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
-"detected software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_group;fillColor=#505050;",50,50,"","Device Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_health;fillColor=#505050;",50,31,"","Device Health",
-null,null,this.getTagsForStencil("mxgraph.mscae.intune","device_health","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_history;fillColor=#505050;",45,50,"","Device History",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device history","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_os;fillColor=#505050;",
-49,50,"","Device OS",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device os operating system","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.end_protection;fillColor=#505050;",48,50,"","End Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","end protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.exchange_connector;fillColor=#505050;",
-50,49,"","Exchange Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","exchange connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet;fillColor=#ffffff;strokeColor=#7f7f7f;",50,31,"","Expandable Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.intune","expandable cloud","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.groups;fillColor=#505050;",
-50,48,"","Groups",null,null,this.getTagsForStencil("mxgraph.mscae.intune","groups","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.hybrid;fillColor=#505050;",50,39,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.mscae.intune","hybrid","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_certificate_profiles;fillColor=#505050;",
-40,50,"","Intune Certificate Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_connector;fillColor=#505050;",82,59,"","Intune Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","intune connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_email_profiles;fillColor=#505050;",
-50,50,"","Intune Email Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","email profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_managed_app;fillColor=#505050;",50,38,"","Intune Managed App",null,null,this.getTagsForStencil("mxgraph.mscae.intune","managed app application","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_mobile_application_management;fillColor=#505050;",
-49,50,"","Intune Mobile Application Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile app aplication management","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_vpn_profiles;fillColor=#505050;",42,50,"","Intune VPN Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","vpn virtual private network profiles","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_wifi_profiles;fillColor=#505050;",43,50,"","Intune WiFi Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","wifi profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.inventory_license;fillColor=#505050;",50,48,"","Inventory License",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
-"inventory license","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.inventory_software;fillColor=#505050;",50,49,"","Inventory Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.license_group;fillColor=#505050;",
-50,49,"","License Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.license_installation;fillColor=#505050;",50,43,"","License Installation",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license installation","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.microsoft_intune;fillColor=#505050;",
-50,40,"","MS Intune",null,null,this.getTagsForStencil("mxgraph.mscae.intune","microsoft","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.mobile_inventory;fillColor=#505050;",44,50,"","Mobile Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.noncompliant_apps;fillColor=#505050;",
-46,50,"","Noncompliant Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","noncompliant apps applications","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.policy;fillColor=#505050;",50,50,"","Policy",null,null,this.getTagsForStencil("mxgraph.mscae.intune","policy","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.protection;fillColor=#505050;",
-48,50,"","Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.reports;fillColor=#505050;",46,50,"","Reports",null,null,this.getTagsForStencil("mxgraph.mscae.intune","reports","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.settings;fillColor=#505050;",
-50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.intune","settings","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.subscription_portal;fillColor=#505050;",50,50,"","Subscription Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","subscription portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.terms_and_conditions;fillColor=#505050;",
-37,50,"","Terms and Conditions",null,null,this.getTagsForStencil("mxgraph.mscae.intune","terms and conditions","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.update;fillColor=#505050;",48,50,"","Update",null,null,this.getTagsForStencil("mxgraph.mscae.intune","update","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.user_group;fillColor=#505050;",
-50,37,"","User Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.user_management;fillColor=#505050;",50,46,"","User Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user management","ms microsoft cloud enterprise intune").join(" "))];this.addPalette("mscaeIntune","CAE / Intune",!1,mxUtils.bind(this,function(d){for(var e=
-0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOMSPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.alerts;fillColor=#505050;",41,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.oms","alerts","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.app_with_changes;fillColor=#505050;",50,32,"","App With Changes",
-null,null,this.getTagsForStencil("mxgraph.mscae.oms","app with changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.assessments;fillColor=#505050;",47,50,"","Assessments",null,null,this.getTagsForStencil("mxgraph.mscae.oms","assessments","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.capacity;fillColor=#505050;",
-41,50,"","Capacity",null,null,this.getTagsForStencil("mxgraph.mscae.oms","capacity","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.config_assessment;fillColor=#505050;",50,45,"","Config Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","config assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.dashboard;fillColor=#505050;",
-50,41,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dashboard","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.dependency_monitor;fillColor=#505050;",50,49,"","Dependency Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dependency monitor","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.diagnostics;fillColor=#505050;",
-50,34,"","Diagnostics",null,null,this.getTagsForStencil("mxgraph.mscae.oms","diagnostics","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.jobs;fillColor=#505050;",50,50,"","Jobs",null,null,this.getTagsForStencil("mxgraph.mscae.oms","jobs","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.log_management;fillColor=#505050;",
-41,50,"","Log Management",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log management","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.log_search;fillColor=#505050;",50,50,"","Log Search",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log search","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.malware_assessment;fillColor=#505050;",
-49,50,"","Malware Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","malware assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.overview;fillColor=#505050;",50,41,"","Overview",null,null,this.getTagsForStencil("mxgraph.mscae.oms","overview","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.runbooks;fillColor=#505050;",
-46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.oms","runbooks","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.security;fillColor=#505050;",50,50,"","Security",null,null,this.getTagsForStencil("mxgraph.mscae.oms","security","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.server_width_changes;fillColor=#505050;",
-47,50,"","Server Width Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","server width changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.services;fillColor=#505050;",49,50,"","Services",null,null,this.getTagsForStencil("mxgraph.mscae.oms","services","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.solutions;fillColor=#505050;",
-50,49,"","Solutions",null,null,this.getTagsForStencil("mxgraph.mscae.oms","solutions","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.system_update;fillColor=#505050;",50,50,"","System Update",null,null,this.getTagsForStencil("mxgraph.mscae.oms","system update","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.track_changes;fillColor=#505050;",
-42,50,"","Track Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","track changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.wire_data;fillColor=#505050;",50,50,"","Wire Data",null,null,this.getTagsForStencil("mxgraph.mscae.oms","wire data","ms microsoft cloud enterprise oms").join(" "))];this.addPalette("mscaeOMS","CAE / OMS",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAEOpsManagerPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.advanced_group_policy_management;fillColor=#0078D7;",48,50,"","Advanced Group Policy Management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","advanced group policy management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.applications;fillColor=#0078D7;",
-49,50,"","Applications",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","applications","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.application_virtualization;fillColor=#0078D7;",50,50,"","Application Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","application virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.app_controller;fillColor=#0078D7;",50,43,"","App Controller",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","app controller","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.configuration_manager;fillColor=#0078D7;",46,50,"","Configuration Manager",
-null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","configuration manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.data_protection_manager;fillColor=#0078D7;",44,50,"","Data Protection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","data protection manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.middleware;fillColor=#0078D7;",50,34,"","Middleware",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","middleware","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_bitlocker_administration_and_management;fillColor=#0078D7;",46,50,"","MS Bitlocker Administration and management",
-null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","bitlocker administration and management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_diagnostics_and_recovery_toolset;fillColor=#0078D7;",50,48,"","MS Diagnostics and Recovery Toolset",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","diagnostics and recovery toolset","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_enterprise_desktop_virtualization;fillColor=#0078D7;",50,50,"","MS Enterprise Desktop Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","enterprise desktop virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_user_experience_virtualization;fillColor=#0078D7;",
-50,48,"","MS User Experience Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","user experience virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.operations_manager;fillColor=#0078D7;",48,50,"","Operations Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","operations manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.orchestrator;fillColor=#0078D7;",50,34,"","Orchestrator",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","orchestrator","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.pack;fillColor=#0078D7;",44,50,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
-"pack","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#0078D7;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","plug and play","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.runtime;fillColor=#0078D7;",
-50,35,"","Runtime",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","runtime","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.service_manager;fillColor=#0078D7;",50,36,"","Service Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","service manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#0078D7;",
-22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar vertical hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#0078D7;",50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar horizontal hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ssd;fillColor=#0078D7;",50,41,"","SSD",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","ssd solid state drive","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.virtual_machine_manager;fillColor=#0078D7;",50,38,"","Virtual Machine Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
-"virtual machine manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" "))];this.addPalette("mscaeOpsManager","CAE / OpsManager",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOtherPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.access;fillColor=#BA2024;",50,50,"","Access",null,null,this.getTagsForStencil("mxgraph.mscae.other",
-"access","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.bi_product_icon;fillColor=#000000;",47,50,"","BI Product Icon",null,null,this.getTagsForStencil("mxgraph.mscae.other","bi product icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.cortana;fillColor=#2CACE2;",50,50,"","Cortana",null,null,
-this.getTagsForStencil("mxgraph.mscae.other","cortana","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.excel;fillColor=#008540;",50,50,"","Excel",null,null,this.getTagsForStencil("mxgraph.mscae.other","excel","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.exchange;fillColor=#2471BA;",50,48,"","Exchange",
-null,null,this.getTagsForStencil("mxgraph.mscae.other","exchange","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.lync;fillColor=#2471BA;",50,48,"","Lync",null,null,this.getTagsForStencil("mxgraph.mscae.other","lync","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.microsoft;",50,50,"","Microsoft",
-null,null,this.getTagsForStencil("mxgraph.mscae.other","microsoft","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.outlook;fillColor=#2471BA;",50,50,"","Outlook",null,null,this.getTagsForStencil("mxgraph.mscae.other","outlook","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.powerappsicon;fillColor=#992065;",
-50,50,"","PowerAppsIcon",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerappsicon power apps applications icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.powerpoint;fillColor=#DE5D24;",50,50,"","PowerPoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerpoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.sharepoint;fillColor=#2471BA;",
-50,49,"","Sharepoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","sharepoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.skype;fillColor=#00AEF2;",50,50,"","Skype",null,null,this.getTagsForStencil("mxgraph.mscae.other","skype","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",
-48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.other","windows","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.word;fillColor=#2C3481;",50,50,"","Word",null,null,this.getTagsForStencil("mxgraph.mscae.other","word","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.xbox;fillColor=#91D250;",
-50,48,"","Xbox",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.xbox_one;",50,16,"","Xbox One",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox one","ms microsoft cloud enterprise other").join(" "))];this.addPalette("mscaeOther","CAE / Other",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAESystemCenterPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.admin_console;fillColor=#515151;strokeColor=none;",50,36,"","Admin Console",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","admin console","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=mxgraph.mscae.enterprise.database_server;fillColor=#515151;strokeColor=none;",
-38,50,"","Central Administration Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.central_administration_site_sql;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site SQL",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site sql",
-"ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.cloud_distribution_point;fillColor=#515151;strokeColor=none;",46,50,"","Cloud Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","cloud distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.distribution_point;fillColor=#515151;strokeColor=none;",
-44,50,"","Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.management_point;fillColor=#515151;strokeColor=none;",48,50,"","Management Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","management point","ms microsoft cloud enterprise system center").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.primary_site;fillColor=#515151;strokeColor=none;",38,50,"","Primary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","primary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.roles;fillColor=#515151;strokeColor=none;",42,50,"","Roles",null,null,this.getTagsForStencil("mxgraph.mscae.system_center",
-"roles","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.secondary_site;fillColor=#515151;strokeColor=none;",41,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","secondary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.software_update_point;fillColor=#515151;strokeColor=none;",
-50,43,"","Software Update Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","software update point","ms microsoft cloud enterprise system center").join(" "))];this.addPalette("mscaeSystem Center","CAE / System Center",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEVMPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.active_directory;fillColor=#00188F;strokeColor=none;",
-50,41,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.active_directory_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Active Directory (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.application_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.application_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Application Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.database_server;fillColor=#00188F;strokeColor=none;",50,41,"","Database Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.database_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Database Server (multi)",
-null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.directory_server;fillColor=#00188F;strokeColor=none;",50,41,"","Directory Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.directory_server_multi;fillColor=#00188F;strokeColor=none;",
-58,50,"","Directory Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.domain_server;fillColor=#00188F;strokeColor=none;",50,41,"","Domain Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.domain_server_multi;fillColor=#00188F;strokeColor=none;",
-58,50,"","Domain Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server2;fillColor=#00188F;strokeColor=none;",50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","File Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.web_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.web_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Web Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.windows_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.windows_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Windows Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server multi","ms microsoft cloud enterprise vm virtual machine ").join(" "))];this.addPalette("mscaeVirtual Machine",
-"CAE / Virtual Machine",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAECloudColorPalette=function(){var a=[this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory.svg;",50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectory.svg;",
+50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.web;fillColor=#00188D;",50,50,"","Web",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.web_server;fillColor=#00188D;",38,50,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.website_generic;fillColor=#7D7D7D;",
+50,44,"","Website (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","website generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.windows_server;fillColor=#00188D;",
+39,50,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.wireless_connection;fillColor=#00188D;",42,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","wireless connection","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.workstation_client;fillColor=#00188D;",50,50,"","Workstation Client",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","workstation client","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.xml_web_service;fillColor=#00188D;",
+50,50,"","XML Web Service",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","xml web service","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeEnterprise","CAE / Enterprise",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",
+50,50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general","audio","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general","bug","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.enterprise;fillColor=#7D7D7D;",
+30,50,"","Building",null,null,this.getTagsForStencil("mxgraph.mscae.general","building enterprise","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cable_settop_tv_box;strokeColor=#000000;fillColor=#7D7D7D;",50,24,"","Cable Settop TV Box",null,null,this.getTagsForStencil("mxgraph.mscae.general","cable settop tv television box","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general","calendar","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
+50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general","chart","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.checkmark;fillColor=#91D250;",41,50,"","Checkmark (success)",null,null,this.getTagsForStencil("mxgraph.mscae.general","checkmark success","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","continuous cycle circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
+40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general","crossout failure","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general","cut and paste","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.filter;fillColor=#7D7D7D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.general","filter","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
+50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general","folder","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general","game controller gamepad","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general","gears","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",
+50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general","graph","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general","like","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.not_allowed;fillColor=#DE5900;",
+50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general","not allowed","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.pointer;fillColor=#91D250;",50,50,"","Pointer (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","pointer circle","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.slider_bar_horizontal;fillColor=#7D7D7D;",50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar horizontal hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.slider_bar_vertical;fillColor=#7D7D7D;",
+22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar vertical hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",38,47,"","Task List (backlog)",null,null,this.getTagsForStencil("mxgraph.mscae.general","task list backlog","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general","tasks","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
+50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general","tunnel","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.usb;fillColor=#7D7D7D;",50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.general","usb","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.user;fillColor=#7D7D7D;",
+47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general","user","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general","video","ms microsoft cloud enterprise general ").join(" "))];this.addPalette("mscaeGeneral",
+"CAE / General",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralSymbolsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.attachments;fillColor=#7D7D7D;",29,50,"","Attachments",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","attachments","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","audio","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",
+50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","bug","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cable_settop_tv_box;fillColor=#7D7D7D;",50,24,"","Cable Settop Box",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cable settop box","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","calendar","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
+50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","chart","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.checkmark;fillColor=#92D050;",41,50,"","Checkmark",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","checkmark","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.clock_time;fillColor=#0078D7;",50,50,"","Clock / Time",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","clock time","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",
+48,50,"","Continuous Cycle",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","continuous cycle","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","crossout failure","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cut and paste","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.ellipses;fillColor=#0078D7;",
+50,7,"","Ellipses",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","ellipses","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.favorite;fillColor=#FDE57B;",14,20,"","Favorite",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","favorite","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","folder","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",
+50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","game controller","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","gears","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","graph","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",
+50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","like","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#DD5900;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","not allowed","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"12","Numbered Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#E90D8B;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
+25,25,"1","Number Magenta",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#FF8C00;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Orange",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered orange","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#C00000;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.num_label_rotate;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
+25,25,"12","Numbered Label Rotate Pointer",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","num label rotate","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.premium_star;fillColor=#FDE57B;",12,11,"","Premium Star",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
+"premium star","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#7D7D7D;",81,30,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar horizontal","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#7D7D7D;",
+35,80,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar vertical","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",41,50,"","Task List",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","task list","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tasks","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
+50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tunnel","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.user;fillColor=#7D7D7D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","user","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","video","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.waiting;fillColor=#7D7D7D;",
+46,50,"","Waiting",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","waiting","ms microsoft cloud enterprise general symbols ").join(" "))];this.addPalette("mscaeGeneral Symbols","CAE / General Symbols",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEIntunePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.account_portal;fillColor=#505050;",
+43,50,"","Account Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","account portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.administration;fillColor=#505050;",30,50,"","Administration",null,null,this.getTagsForStencil("mxgraph.mscae.intune","administration","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.alerts;fillColor=#505050;",50,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.intune","alerts","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.apps;fillColor=#505050;",
+50,50,"","Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","apps","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.certificate;fillColor=#505050;",50,49,"","Certificate (Compliance)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate compliance","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.client_software;fillColor=#505050;",50,45,"","Client Software Deployment Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","client software deployment wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.company_portal;fillColor=#505050;",
+50,38,"","Company Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","company portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.computer_inventory;fillColor=#505050;",50,45,"","Computer Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","computer inventory","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.conditional_access_exchange;fillColor=#505050;",49,50,"","Conditional Access (Exchange)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access exchange","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.conditional_access_sharepoint;fillColor=#505050;",
+44,50,"","Conditional Access (Sharepoint)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access sharepoint","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.connector;fillColor=#505050;",50,17,"","Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.dashboard;fillColor=#505050;",50,40,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","dashboard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.data_migration_wizard;fillColor=#505050;",
+50,48,"","Data Migration Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","data migration wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.detected_software;fillColor=#505050;",50,50,"","Detected Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","detected software","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_group;fillColor=#505050;",50,50,"","Device Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_health;fillColor=#505050;",
+50,31,"","Device Health",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device_health","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_history;fillColor=#505050;",45,50,"","Device History",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device history","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_os;fillColor=#505050;",49,50,"","Device OS",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device os operating system","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.end_protection;fillColor=#505050;",
+48,50,"","End Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","end protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.exchange_connector;fillColor=#505050;",50,49,"","Exchange Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","exchange connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet;fillColor=#ffffff;strokeColor=#7f7f7f;",50,31,"","Expandable Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.intune","expandable cloud","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.groups;fillColor=#505050;",
+50,48,"","Groups",null,null,this.getTagsForStencil("mxgraph.mscae.intune","groups","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.hybrid;fillColor=#505050;",50,39,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.mscae.intune","hybrid","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_certificate_profiles;fillColor=#505050;",
+40,50,"","Intune Certificate Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_connector;fillColor=#505050;",82,59,"","Intune Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","intune connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_email_profiles;fillColor=#505050;",50,50,"","Intune Email Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","email profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_managed_app;fillColor=#505050;",
+50,38,"","Intune Managed App",null,null,this.getTagsForStencil("mxgraph.mscae.intune","managed app application","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_mobile_application_management;fillColor=#505050;",49,50,"","Intune Mobile Application Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
+"mobile app aplication management","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_vpn_profiles;fillColor=#505050;",42,50,"","Intune VPN Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","vpn virtual private network profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_wifi_profiles;fillColor=#505050;",
+43,50,"","Intune WiFi Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","wifi profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.inventory_license;fillColor=#505050;",50,48,"","Inventory License",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory license","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.inventory_software;fillColor=#505050;",50,49,"","Inventory Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.license_group;fillColor=#505050;",
+50,49,"","License Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.license_installation;fillColor=#505050;",50,43,"","License Installation",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license installation","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.microsoft_intune;fillColor=#505050;",50,40,"","MS Intune",null,null,this.getTagsForStencil("mxgraph.mscae.intune","microsoft","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.mobile_inventory;fillColor=#505050;",
+44,50,"","Mobile Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.noncompliant_apps;fillColor=#505050;",46,50,"","Noncompliant Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","noncompliant apps applications","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.policy;fillColor=#505050;",50,50,"","Policy",null,null,this.getTagsForStencil("mxgraph.mscae.intune","policy","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.protection;fillColor=#505050;",
+48,50,"","Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.reports;fillColor=#505050;",46,50,"","Reports",null,null,this.getTagsForStencil("mxgraph.mscae.intune","reports","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.settings;fillColor=#505050;",
+50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.intune","settings","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.subscription_portal;fillColor=#505050;",50,50,"","Subscription Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","subscription portal","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.terms_and_conditions;fillColor=#505050;",37,50,"","Terms and Conditions",null,null,this.getTagsForStencil("mxgraph.mscae.intune","terms and conditions","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.update;fillColor=#505050;",
+48,50,"","Update",null,null,this.getTagsForStencil("mxgraph.mscae.intune","update","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.user_group;fillColor=#505050;",50,37,"","User Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.user_management;fillColor=#505050;",
+50,46,"","User Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user management","ms microsoft cloud enterprise intune").join(" "))];this.addPalette("mscaeIntune","CAE / Intune",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOMSPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.alerts;fillColor=#505050;",
+41,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.oms","alerts","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.app_with_changes;fillColor=#505050;",50,32,"","App With Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","app with changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.assessments;fillColor=#505050;",
+47,50,"","Assessments",null,null,this.getTagsForStencil("mxgraph.mscae.oms","assessments","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.capacity;fillColor=#505050;",41,50,"","Capacity",null,null,this.getTagsForStencil("mxgraph.mscae.oms","capacity","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.config_assessment;fillColor=#505050;",
+50,45,"","Config Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","config assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.dashboard;fillColor=#505050;",50,41,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dashboard","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.dependency_monitor;fillColor=#505050;",
+50,49,"","Dependency Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dependency monitor","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.diagnostics;fillColor=#505050;",50,34,"","Diagnostics",null,null,this.getTagsForStencil("mxgraph.mscae.oms","diagnostics","ms microsoft cloud enterprise oms").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.jobs;fillColor=#505050;",50,50,"","Jobs",null,null,this.getTagsForStencil("mxgraph.mscae.oms","jobs","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.log_management;fillColor=#505050;",
+41,50,"","Log Management",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log management","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.log_search;fillColor=#505050;",50,50,"","Log Search",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log search","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.malware_assessment;fillColor=#505050;",
+49,50,"","Malware Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","malware assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.overview;fillColor=#505050;",50,41,"","Overview",null,null,this.getTagsForStencil("mxgraph.mscae.oms","overview","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.runbooks;fillColor=#505050;",
+46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.oms","runbooks","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.security;fillColor=#505050;",50,50,"","Security",null,null,this.getTagsForStencil("mxgraph.mscae.oms","security","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.server_width_changes;fillColor=#505050;",
+47,50,"","Server Width Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","server width changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.services;fillColor=#505050;",49,50,"","Services",null,null,this.getTagsForStencil("mxgraph.mscae.oms","services","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.solutions;fillColor=#505050;",
+50,49,"","Solutions",null,null,this.getTagsForStencil("mxgraph.mscae.oms","solutions","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.system_update;fillColor=#505050;",50,50,"","System Update",null,null,this.getTagsForStencil("mxgraph.mscae.oms","system update","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.track_changes;fillColor=#505050;",
+42,50,"","Track Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","track changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.wire_data;fillColor=#505050;",50,50,"","Wire Data",null,null,this.getTagsForStencil("mxgraph.mscae.oms","wire data","ms microsoft cloud enterprise oms").join(" "))];this.addPalette("mscaeOMS",
+"CAE / OMS",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOpsManagerPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.advanced_group_policy_management;fillColor=#0078D7;",48,50,"","Advanced Group Policy Management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"advanced group policy management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.applications;fillColor=#0078D7;",49,50,"","Applications",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","applications","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.application_virtualization;fillColor=#0078D7;",50,50,"","Application Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","application virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.app_controller;fillColor=#0078D7;",
+50,43,"","App Controller",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","app controller","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.configuration_manager;fillColor=#0078D7;",46,50,"","Configuration Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"configuration manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.data_protection_manager;fillColor=#0078D7;",44,50,"","Data Protection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","data protection manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.middleware;fillColor=#0078D7;",50,34,"","Middleware",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","middleware","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_bitlocker_administration_and_management;fillColor=#0078D7;",
+46,50,"","MS Bitlocker Administration and management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","bitlocker administration and management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_diagnostics_and_recovery_toolset;fillColor=#0078D7;",50,48,"","MS Diagnostics and Recovery Toolset",
+null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","diagnostics and recovery toolset","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_enterprise_desktop_virtualization;fillColor=#0078D7;",50,50,"","MS Enterprise Desktop Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"enterprise desktop virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_user_experience_virtualization;fillColor=#0078D7;",50,48,"","MS User Experience Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","user experience virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.operations_manager;fillColor=#0078D7;",48,50,"","Operations Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","operations manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.orchestrator;fillColor=#0078D7;",
+50,34,"","Orchestrator",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","orchestrator","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.pack;fillColor=#0078D7;",44,50,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","pack","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#0078D7;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","plug and play","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.runtime;fillColor=#0078D7;",
+50,35,"","Runtime",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","runtime","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.service_manager;fillColor=#0078D7;",50,36,"","Service Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","service manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#0078D7;",22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar vertical hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#0078D7;",
+50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar horizontal hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ssd;fillColor=#0078D7;",50,41,"","SSD",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","ssd solid state drive",
+"ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.virtual_machine_manager;fillColor=#0078D7;",50,38,"","Virtual Machine Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","virtual machine manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" "))];
+this.addPalette("mscaeOpsManager","CAE / OpsManager",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOtherPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.access;fillColor=#BA2024;",50,50,"","Access",null,null,this.getTagsForStencil("mxgraph.mscae.other","access","ms microsoft cloud enterprise other").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.bi_product_icon;fillColor=#000000;",47,50,"","BI Product Icon",null,null,this.getTagsForStencil("mxgraph.mscae.other","bi product icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.cortana;fillColor=#2CACE2;",
+50,50,"","Cortana",null,null,this.getTagsForStencil("mxgraph.mscae.other","cortana","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.excel;fillColor=#008540;",50,50,"","Excel",null,null,this.getTagsForStencil("mxgraph.mscae.other","excel","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.exchange;fillColor=#2471BA;",
+50,48,"","Exchange",null,null,this.getTagsForStencil("mxgraph.mscae.other","exchange","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.lync;fillColor=#2471BA;",50,48,"","Lync",null,null,this.getTagsForStencil("mxgraph.mscae.other","lync","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.microsoft;",
+50,50,"","Microsoft",null,null,this.getTagsForStencil("mxgraph.mscae.other","microsoft","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.outlook;fillColor=#2471BA;",50,50,"","Outlook",null,null,this.getTagsForStencil("mxgraph.mscae.other","outlook","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.powerappsicon;fillColor=#992065;",
+50,50,"","PowerAppsIcon",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerappsicon power apps applications icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.powerpoint;fillColor=#DE5D24;",50,50,"","PowerPoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerpoint","ms microsoft cloud enterprise other").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.sharepoint;fillColor=#2471BA;",50,49,"","Sharepoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","sharepoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.skype;fillColor=#00AEF2;",
+50,50,"","Skype",null,null,this.getTagsForStencil("mxgraph.mscae.other","skype","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.other","windows","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.word;fillColor=#2C3481;",
+50,50,"","Word",null,null,this.getTagsForStencil("mxgraph.mscae.other","word","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.xbox;fillColor=#91D250;",50,48,"","Xbox",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.xbox_one;",
+50,16,"","Xbox One",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox one","ms microsoft cloud enterprise other").join(" "))];this.addPalette("mscaeOther","CAE / Other",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAESystemCenterPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.admin_console;fillColor=#515151;strokeColor=none;",
+50,36,"","Admin Console",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","admin console","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_server;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site",
+"ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.central_administration_site_sql;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site SQL",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site sql","ms microsoft cloud enterprise system center").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.cloud_distribution_point;fillColor=#515151;strokeColor=none;",46,50,"","Cloud Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","cloud distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.distribution_point;fillColor=#515151;strokeColor=none;",
+44,50,"","Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.management_point;fillColor=#515151;strokeColor=none;",48,50,"","Management Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center",
+"management point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.primary_site;fillColor=#515151;strokeColor=none;",38,50,"","Primary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","primary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.roles;fillColor=#515151;strokeColor=none;",
+42,50,"","Roles",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","roles","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.secondary_site;fillColor=#515151;strokeColor=none;",41,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","secondary site","ms microsoft cloud enterprise system center").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.software_update_point;fillColor=#515151;strokeColor=none;",50,43,"","Software Update Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","software update point","ms microsoft cloud enterprise system center").join(" "))];this.addPalette("mscaeSystem Center","CAE / System Center",!1,mxUtils.bind(this,
+function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEVMPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.active_directory;fillColor=#00188F;strokeColor=none;",50,41,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.active_directory_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Active Directory (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.application_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.application_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Application Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server multi",
+"ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.database_server;fillColor=#00188F;strokeColor=none;",50,41,"","Database Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.database_server_multi;fillColor=#00188F;strokeColor=none;",
+58,50,"","Database Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.directory_server;fillColor=#00188F;strokeColor=none;",50,41,"","Directory Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server",
+"ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.directory_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Directory Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.domain_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","Domain Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.domain_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Domain Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server2;fillColor=#00188F;strokeColor=none;",50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","File Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.web_server;fillColor=#00188F;strokeColor=none;",50,41,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.web_server_multi;fillColor=#00188F;strokeColor=none;",
+58,50,"","Web Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.windows_server;fillColor=#00188F;strokeColor=none;",50,41,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.windows_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Windows Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server multi","ms microsoft cloud enterprise vm virtual machine ").join(" "))];this.addPalette("mscaeVirtual Machine","CAE / Virtual Machine",!1,mxUtils.bind(this,function(d){for(var e=
+0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAECloudColorPalette=function(){var a=[this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory.svg;",50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectory.svg;",
 50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory_Health_Monitoring.svg;",50,50,"","Active Directory - Health Monitoring",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory health monitoring","ms microsoft cloud enterprise color ").join(" ")),
 this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectoryDomain.svg;",50,50,"","Active Directory - Domain",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory domain","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/API_Management.svg;",50,41.5,"","API Management",
 !1,null,this.getTagsForStencil("mxgraph.mscae","api management application programming interface","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/App_Service.svg;",50,50,"","App Service",!1,null,this.getTagsForStencil("mxgraph.mscae","app service","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/App_Service_API_Apps.svg;",
@@ -5777,336 +5824,349 @@ this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabe
 "computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virtual_pc;",115,85,"","Virtual PC",null,null,this.getTagsForStencil("mxgraph.networks","virtual_pc","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virtual_server;",
 110,120,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.networks","virtual_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virus;",100,90,"","Virus",null,null,this.getTagsForStencil("mxgraph.networks","virus","computer network ").join(" ")),
 this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.web_server;",105,105,"","Web Server",null,null,this.getTagsForStencil("mxgraph.networks","web_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_hub;",
-100,85,"","Wireless Hub",null,null,this.getTagsForStencil("mxgraph.networks","wireless_hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_modem;",100,85,"","Wireless Modem",null,null,this.getTagsForStencil("mxgraph.networks","wireless_modem","computer network ").join(" "))])}})();(function(){Sidebar.prototype.addOfficePalette=function(){this.addOfficeCloudsPalette();this.addOfficeCommunicationsPalette();this.addOfficeConceptsPalette();this.addOfficeDatabasesPalette();this.addOfficeDevicesPalette();this.addOfficeSecurityPalette();this.addOfficeServersPalette();this.addOfficeServicesPalette();this.addOfficeSitesPalette();this.addOfficeUsersPalette()};Sidebar.prototype.addOfficeCloudsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.azure;",
-103,66,"","Azure",null,null,this.getTagsForStencil("mxgraph.office.clouds","azure","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud;",94,55,"","Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_disaster;",
-94,74,"","Cloud Disaster",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_disaster;fillColor=#ff0000;",94,74,"","Cloud Disaster (Red)",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_exchange_online;",
-100,61,"","Cloud Exchange Online",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud exchange online","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_service_request;",102,80,"","Cloud Service Request",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud service request","office cloud ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_sharepoint;",101,61,"","Cloud SharePoint",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud sharepoint","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.office_365;",
-101,61,"","Office 365",null,null,this.getTagsForStencil("mxgraph.office.clouds","office 365","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.online_backup;",94,101,"","Online Backup",null,null,this.getTagsForStencil("mxgraph.office.clouds","online backup","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.online_user;",
-93,74,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.clouds","online user","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.private_cloud;",94,55,"","Private Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","private cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.public_cloud;",
-101,81,"","Public Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","public cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.public_im_cloud_service;",102,99,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.clouds","public im instant message cloud service","office cloud ").join(" "))];
-this.addPalette("officeClouds","Office / Clouds",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeCommunicationsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_call_center_solution;",98,101,"","3rd Party Call Center Solution",null,null,
-this.getTagsForStencil("mxgraph.office.communications","3rd party call center solution","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_integration;",54,55,"","3rd Party Integration",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party integration","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.application_sharing_workload;",
-57,49,"","Application Sharing Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","application sharing workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.audio_conferencing_application;",59,46,"","Audio Conferencing Application",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"audio_conferencing_application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.central_management_service;",52,55,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.communications","central management service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.chat_room;",
-46,48,"","Chat Room",null,null,this.getTagsForStencil("mxgraph.office.communications","chat room","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.conference_announcement_service;",60,60,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.communications","conference announcement service",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.disconnected_mailbox;",60,55,"","Disconnected Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","disconnected mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.discovery_search_mailbox;",
-55,49,"","Discovery Search Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","discovery search mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"dynamic distribution group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.edge_subscription;",57,59,"","Edge Subscription",null,null,this.getTagsForStencil("mxgraph.office.communications","edge subscription","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.email_workloaad;",
-57,47,"","Email Workloaad",null,null,this.getTagsForStencil("mxgraph.office.communications","email workloaad","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.equipment_mailbox;",59,59,"","Equipment Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","equipment mailbox","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.exchange_active_sync;",49,49,"","Exchange Active Sync",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.exchange_active_sync;fillColor=#2072B8;",
-49,49,"","Exchange Active Sync - Blue",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.fax_partner;",45,56,"","Fax Partner",null,null,this.getTagsForStencil("mxgraph.office.communications","fax partner","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.global_address_list;",59,53,"","Global Address List",null,null,this.getTagsForStencil("mxgraph.office.communications","global address list","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.hybrid_voip_gateway;",
-59,38,"","Hybrid VOIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","hybrid voip gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.im_workload;",56,54,"","IM Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","im workload instant message","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.journaling_rule;",52,58,"","Journaling Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","journaling rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.local_move_request;",
-57,57,"","Local Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","local move request","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_control_panel;",69,58,"","Lync Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","lync control panel",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_phone_edition;",80,45,"","Lync Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","lync phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_room_system;",
-80,42,"","Lync Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","lync room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_server_management_tool;",75,47,"","Lync Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications","lync server management tool",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_storage_service;",66,59,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","lync storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_web_app_client;",
-83,50,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","lync web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.mail_enabled_public_folder;",58,52,"","Mail-Enabled Public Folder",null,null,this.getTagsForStencil("mxgraph.office.communications","mail enabled public folder",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.mailbox_assistant;",59,57,"","Mailbox Assistant",null,null,this.getTagsForStencil("mxgraph.office.communications","mailbox assistant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.messages_queued;",
-59,57,"","Messages Queued",null,null,this.getTagsForStencil("mxgraph.office.communications","messages queued","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.offline_address_book;",59,53,"","Offline Address Book",null,null,this.getTagsForStencil("mxgraph.office.communications","offline address book",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.personal_archive_mailbox;",59,58,"","Personal Archive Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","personal archive mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.public_im_cloud_service;",
-60,58,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.communications","public im cloud service instant message","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"push notification service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.queue_viewer;",59,57,"","Queue Viewer",null,null,this.getTagsForStencil("mxgraph.office.communications","queue viewer","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.remote_mailbox;",
-59,57,"","Remote Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","remote mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.remote_move_request;",60,57,"","Remote Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","remote move request","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.communications","response group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.room_mailbox;",
-60,57,"","Room Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","room mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.shared_mailbox;",60,55,"","Shared Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","shared mailbox","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.sip_uri_um_dial_plan;",55,56,"","SIP URI UM Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","sip uri um dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.site_mailbox;",
-59,54,"","Site Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","site mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_control_panel;",65,59,"","Skype for Business Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business control panel",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_phone_edition;",76,45,"","Skype for Business Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_room_system;",
-74,41,"","Skype for Business Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_server_management_tool;",72,48,"","Skype for Business Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"skype for business server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business storage service","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_web_app_client;",80,51,"","Skype for Business Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.sms_gateway;",
-59,37,"","SMS Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","sms gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.smtp_connector;",47,49,"","SMTP Connector",null,null,this.getTagsForStencil("mxgraph.office.communications","smtp connector","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.system_mailbox;",58,55,"","System Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","system mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.tdm_pbx;",
-59,46,"","TDM PBX",null,null,this.getTagsForStencil("mxgraph.office.communications","tdm pbx","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.telephone_extension_dial_plan;",55,56,"","Telephone Extension Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","telephone extension dial plan",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.transport_rule;",56,57,"","Transport Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","transport rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.ucma_application;",
-53,40,"","UCMA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucma application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.ucwa_application;",53,40,"","UCWA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucwa application","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_auto_attendant;",57,57,"","UM Auto Attendant",null,null,this.getTagsForStencil("mxgraph.office.communications","um auto attendant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_dial_plan_e164;",
-55,56,"","UM Dial Plan E164",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan e164","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_dial_plan_secondary;",55,56,"","UM Dial Plan Secondary",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan secondary",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_enabled_mailbox;",59,57,"","UM Enabled Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","um enabled mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_hunt_group;",
-59,48,"","UM Hunt Group",null,null,this.getTagsForStencil("mxgraph.office.communications","um hunt group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_ip_gateway;",59,38,"","UM IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","um ip gateway internet protocol","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.user_mailbox;",59,55,"","User Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","user mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.video_workload;",
-57,50,"","Video Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","video workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voice_mail_preview;",46,56,"","Voice Mail Preview",null,null,this.getTagsForStencil("mxgraph.office.communications","voice mail preview","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voice_workload;",58,51,"","Voice Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","voice workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voip_gateway;",
-51,15,"","VoIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","voip gateway voice over ip internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.watcher_node;",52,56,"","Watcher Node",null,null,this.getTagsForStencil("mxgraph.office.communications","watcher node",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.communications","xmpp service","office communication ").join(" "))];this.addPalette("officeCommunications","Office / Communications",!1,mxUtils.bind(this,function(d){for(var e=
-0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeConceptsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.address_book;",55,44,"","Address Book",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.address_book;",
-40,31,"","Address Book (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.anti_spam;",55,47,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.office.concepts","anti spam","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_android;",
-60,51,"","Application Android",null,null,this.getTagsForStencil("mxgraph.office.concepts","application android","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_generic;",53,40,"","Application Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_generic;",40,30,"","Application Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_hybrid;",
-59,44,"","Application Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","application hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_ios;",59,49,"","Application iOS",null,null,this.getTagsForStencil("mxgraph.office.concepts","application ios","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_web;",
-56,49,"","Application Web",null,null,this.getTagsForStencil("mxgraph.office.concepts","application web","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_windows;",59,47,"","Application Windows",null,null,this.getTagsForStencil("mxgraph.office.concepts","application windows","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_for_office;",53,40,"","App for Office",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for office","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_for_sharepoint;",
-53,40,"","App For SharePoint",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for sharepoint","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_part;",46,45,"","App Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","app part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.archive;",
-35,55,"","Archive",null,null,this.getTagsForStencil("mxgraph.office.concepts","archive","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.attachment;",22,44,"","Attachment",null,null,this.getTagsForStencil("mxgraph.office.concepts","attachment","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.backup_local;",
-48,44,"","Backup Local",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup local","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.backup_online;",55,60,"","Backup Online",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup online","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.bandwidth;",
-45,45,"","Bandwidth",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.bandwidth_calculator;",49,53,"","Bandwidth Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.best_practices;",
-53,53,"","Best Practices",null,null,this.getTagsForStencil("mxgraph.office.concepts","best practices","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.book_journal;",41,49,"","Book, Journal",null,null,this.getTagsForStencil("mxgraph.office.concepts","book journal","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.calculator;",
-32,46,"","Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.calendar;",53,49,"","Calendar",null,null,this.getTagsForStencil("mxgraph.office.concepts","calendar","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clipboard;",
-40,52,"","Clipboard",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clipboard;",30,39,"","Clipboard (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clock;",
-45,45,"","Clock",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clock;",35,35,"","Clock (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.column;",
-52,43,"","Column",null,null,this.getTagsForStencil("mxgraph.office.concepts","column","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.connector;",44,32,"","Connector",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.connector;",
-33,24,"","Connector (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.contacts;",53,39,"","Contacts",null,null,this.getTagsForStencil("mxgraph.office.concepts","contacts","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.content_type;",
-53,40,"","Content Type",null,null,this.getTagsForStencil("mxgraph.office.concepts","content type","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.credit_card;",55,36,"","Credit Card",null,null,this.getTagsForStencil("mxgraph.office.concepts","credit card","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document;",
-40,47,"","Document",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document;",30,35,"","Document (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.documents;",
-46,54,"","Documents",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.documents_shared;",58,59,"","Documents Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_blank;",
-40,47,"","Document Blank",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_blank;",30,35,"","Document Blank (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_shared;",
-52,53,"","Document Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","document shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.download;",48,56,"","Download",null,null,this.getTagsForStencil("mxgraph.office.concepts","download","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email;",
-47,36,"","Email",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email;",31,24,"","Email (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_approved;",
-56,46,"","Email Approved",null,null,this.getTagsForStencil("mxgraph.office.concepts","email approved","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_expired;",56,46,"","Email Expired",null,null,this.getTagsForStencil("mxgraph.office.concepts","email expired","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_rejected;",
-55,45,"","Email Rejected",null,null,this.getTagsForStencil("mxgraph.office.concepts","email rejected","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.file_key;",48,53,"","File Key",null,null,this.getTagsForStencil("mxgraph.office.concepts","file key","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;",
-47,43,"","Firewall",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#2072B8;",47,43,"","Firewall (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#DA4026;",
-47,43,"","Firewall (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#7FBA42;",47,43,"","Firewall (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#CCCBCB;",
-47,43,"","Firewall (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;",50,45,"","Folder",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#2072B8;",
-50,45,"","Folder (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#DA4026;",50,45,"","Folder (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#7FBA42;",
-50,45,"","Folder (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#CCCBCB;",50,45,"","Folder (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;",
-33,30,"","Folder (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folders;",57,53,"","Folders",null,null,this.getTagsForStencil("mxgraph.office.concepts","folders","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_open;",
-56,43,"","Folder, Open",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder open","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_public;",58,52,"","Folder, Public",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder public","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_shared;",
-54,52,"","Folder, Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.form;",56,49,"","Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.get_started;",
-42,52,"","Get Started",null,null,this.getTagsForStencil("mxgraph.office.concepts","get started","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.globe_internet;",49,49,"","Globe, Internet",null,null,this.getTagsForStencil("mxgraph.office.concepts","globe internet","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.help;",
-49,49,"","Help",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.help;",38,38,"","Help (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;",
-51,50,"","Home",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#2072B8;",51,50,"","Home (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#DA4026;",
-51,50,"","Home (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#7FBA42;",51,50,"","Home (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#CCCBCB;",
-51,50,"","Home (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;",39,38,"","Home (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;",
-53,43,"","Home Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#2072B8;",53,43,"","Home Page (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#DA4026;",
-53,43,"","Home Page (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#7FBA42;",53,43,"","Home Page (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#CCCBCB;",
-53,43,"","Home Page (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.hybrid;",58,52,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.input_output_filter;",
-46,46,"","Input Output Filter",null,null,this.getTagsForStencil("mxgraph.office.concepts","input output filter","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.install;",45,52,"","Install",null,null,this.getTagsForStencil("mxgraph.office.concepts","install","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.integration;",
-44,43,"","Integration",null,null,this.getTagsForStencil("mxgraph.office.concepts","integration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.lab;",47,50,"","Lab",null,null,this.getTagsForStencil("mxgraph.office.concepts","lab","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.learn;",
-56,57,"","Learn",null,null,this.getTagsForStencil("mxgraph.office.concepts","learn","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.license;",45,52,"","License",null,null,this.getTagsForStencil("mxgraph.office.concepts","license","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.link;",
-61,21,"","Link",null,null,this.getTagsForStencil("mxgraph.office.concepts","link","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.list_library;",52,48,"","List Library",null,null,this.getTagsForStencil("mxgraph.office.concepts","list library","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox;",
-53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox2;",
-53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox2;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.maintenance;",
-39,56,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.office.concepts","maintenance","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.marketplace_shopping_bag;",36,46,"","Marketplace, Shopping Bag",null,null,this.getTagsForStencil("mxgraph.office.concepts","marketplace shopping bag","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.meets_requirements;",56,53,"","Meets Requirements",null,null,this.getTagsForStencil("mxgraph.office.concepts","meets requirements","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.migration;",
-59,34,"","Migration",null,null,this.getTagsForStencil("mxgraph.office.concepts","migration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.moes;",40,47,"","MOEs",null,null,this.getTagsForStencil("mxgraph.office.concepts","moes","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.navigation;",
-53,40,"","Navigation",null,null,this.getTagsForStencil("mxgraph.office.concepts","navigation","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;",46,52,"","Node, Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#2072B8;",
-46,52,"","Node, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#DA4026;",46,52,"","Node, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#7FBA42;",
-46,52,"","Node, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#CCCBCB;",46,52,"","Node, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.office_installed;",
-58,48,"","Office Installed",null,null,this.getTagsForStencil("mxgraph.office.concepts","office installed","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.on_premises;",34,55,"","On Premises",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.on_premises_directory;",
-50,59,"","On Premises Directory",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises directory","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.phishing;",59,47,"","Phishing",null,null,this.getTagsForStencil("mxgraph.office.concepts","phishing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.pin;",
-24,44,"","Pin",null,null,this.getTagsForStencil("mxgraph.office.concepts","pin","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.platform_options;",58,52,"","Platform Options",null,null,this.getTagsForStencil("mxgraph.office.concepts","platform options","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.powershell;",
-45,45,"","PowerShell",null,null,this.getTagsForStencil("mxgraph.office.concepts","powershell","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.properties;",50,49,"","Properties",null,null,this.getTagsForStencil("mxgraph.office.concepts","properties","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.publish;",
-57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.concepts","publish","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.remote_access;",59,41,"","Remote Access",null,null,this.getTagsForStencil("mxgraph.office.concepts","remote access","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.script;",
-53,49,"","Script",null,null,this.getTagsForStencil("mxgraph.office.concepts","script","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.search;",49,49,"","Search",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.search;",
-35,35,"","Search (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.service_application;",59,48,"","Service Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","service application","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings;",
-48,48,"","Settings",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings_office_365;",48,48,"","Settings, Office 365",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings_office_365;",
-31,31,"","Settings, Office 365 (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.sign_up;",51,47,"","Sign Up",null,null,this.getTagsForStencil("mxgraph.office.concepts","sign up","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.sound_file;",
-40,50,"","Sound File",null,null,this.getTagsForStencil("mxgraph.office.concepts","sound file","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.tasks;",40,52,"","Tasks",null,null,this.getTagsForStencil("mxgraph.office.concepts","tasks","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.technical_diagram;",
-50,56,"","Technical Diagram",null,null,this.getTagsForStencil("mxgraph.office.concepts","technical diagram","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_application;",58,42,"","Upgrade Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade application","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_server;",39,52,"","Upgrade Server",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade server","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_site;",
-59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade site","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upload;",48,55,"","Upload",null,null,this.getTagsForStencil("mxgraph.office.concepts","upload","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.video_form;",
-58,49,"","Video Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","video form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.video_play;",50,40,"","Video Play",null,null,this.getTagsForStencil("mxgraph.office.concepts","video play","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.voicemail;",
-53,34,"","Voicemail",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.voicemail_preview;",57,52,"","Voicemail Preview",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail preview","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.walkthrough;",
-41,58,"","Walkthrough",null,null,this.getTagsForStencil("mxgraph.office.concepts","walkthrough","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.website;",59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.concepts","website","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_conferencing;",
-60,56,"","Web Conferencing",null,null,this.getTagsForStencil("mxgraph.office.concepts","web conferencing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_page;",50,54,"","Web Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","web page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_part;",
-45,52,"","Web Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","web part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.concepts","web services","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.whats_new;",
-55,38,"","Whats New",null,null,this.getTagsForStencil("mxgraph.office.concepts","whats new","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.writing_pen;",54,54,"","Writing, Pen",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pen","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.writing_pencil;",
-50,50,"","Writing, Pencil",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pencil","office concept ").join(" "))];this.addPalette("officeConcepts","Office / Concepts",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDatabasesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.address_book_store;",
-50,54,"","Address Book Store",null,null,this.getTagsForStencil("mxgraph.office.databases","address_book_store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.application_store;",49,53,"","Application Store",null,null,this.getTagsForStencil("mxgraph.office.databases","application store","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;",35,49,"","Database",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#2072B8;",
-35,49,"","Database (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#DA4026;",35,49,"","Database (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#7FBA42;",
-35,49,"","Database (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#CCCBCB;",35,49,"","Database (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;",
-28,38,"","Database (small)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_availability_group;",59,59,"","Database Availability Group",null,null,this.getTagsForStencil("mxgraph.office.databases","availability group","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;",47,52,"","Database Cube",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#2072B8;",
-47,52,"","Database Cube (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#DA4026;",47,52,"","Database Cube (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#7FBA42;",
-47,52,"","Database Cube (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#CCCBCB;",47,52,"","Database Cube (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;",
-35,27,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#2072B8;",35,27,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#DA4026;",
-35,27,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#7FBA42;",35,27,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#CCCBCB;",
-35,27,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;",35,42,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#2072B8;",
-35,42,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#DA4026;",35,42,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#7FBA42;",
-35,42,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#CCCBCB;",35,42,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;",
-35,57,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#2072B8;",35,57,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#DA4026;",
-35,57,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#7FBA42;",35,57,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#CCCBCB;",
-35,57,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mirror;",60,59,"","Database Mirror",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mirror_witness_node;",
-60,59,"","Database Mirror Witness Node",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror witness node","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_2;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_3;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_4;",
-57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_5;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_public_folder;",53,54,"","Database Public Folder",null,null,this.getTagsForStencil("mxgraph.office.databases","public folder","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server;",
-43,57,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.databases","server","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_blue;",43,57,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_orange;",43,57,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_green;",
-43,57,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_ghosted;",43,57,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.mailbox_database;",53,55,"","Mailbox Database",null,null,this.getTagsForStencil("mxgraph.office.databases","mailbox","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.monitoring_store;",
-58,58,"","Monitoring Store",null,null,this.getTagsForStencil("mxgraph.office.databases","monitoring store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.unified_contact_store;",54,55,"","Unified Contact Store",null,null,this.getTagsForStencil("mxgraph.office.databases","unified contact store","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.web_store;",50,54,"","Web Store",null,null,this.getTagsForStencil("mxgraph.office.databases","web store","office database db ").join(" "))];this.addPalette("officeDatabases","Office / Databases",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDevicesPalette=
-function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.bluetooth;",56,57,"","Bluetooth",null,null,this.getTagsForStencil("mxgraph.office.devices","bluetooth","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cd_dvd;",
-49,49,"","CD, DVD",null,null,this.getTagsForStencil("mxgraph.office.devices","cd dvd compact disc digital video drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_android_proportional;",17,31,"","Cell Phone, Android, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android proportional",
-"office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_android_standalone;",24,44,"","Cell Phone, Android, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_generic;",
-26,47,"","Cell Phone, Generic",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_generic;",21,37,"","Cell Phone, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic small","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_iphone_proportional;",17,29,"","Cell Phone, iPhone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_iphone_standalone;",
-25,42,"","Cell Phone, iPhone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_windows_phone_proportional;",16,29,"","Cell Phone, Windows Phone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices",
-"cell phone windows phone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_windows_phone_standalone;",24,42,"","Cell Phone, Windows Phone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone windows standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.data_jack;",
-47,47,"","Data Jack",null,null,this.getTagsForStencil("mxgraph.office.devices","data jack","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.device_update_service;",50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.devices","device update service","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.fax;",
-57,47,"","Fax",null,null,this.getTagsForStencil("mxgraph.office.devices","fax","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.hard_disk;",40,54,"","Hard Disk",null,null,this.getTagsForStencil("mxgraph.office.devices","hard disk hdd drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.headset;",
-36,48,"","Headset",null,null,this.getTagsForStencil("mxgraph.office.devices","headset","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ipad_mini;",33,47,"","iPad, Mini",null,null,this.getTagsForStencil("mxgraph.office.devices","ipad mini","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ip_gateway;",
-59,40,"","IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","ip gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ip_pbx;",59,39,"","IP PBX",null,null,this.getTagsForStencil("mxgraph.office.devices","ip pbx","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.laptop;",
-58,34,"","Laptop",null,null,this.getTagsForStencil("mxgraph.office.devices","laptop","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.lcd_monitor;",58,48,"","LCD Monitor",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.lcd_monitor;",
-39,32,"","LCD Monitor (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.load_balancer;",59,39,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.office.devices","load balancer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.mac_client;",
-58,48,"","Mac Client",null,null,this.getTagsForStencil("mxgraph.office.devices","mac client","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.management_console;",58,48,"","Management Console",null,null,this.getTagsForStencil("mxgraph.office.devices","management console","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.microphone;",
-53,37,"","Microphone",null,null,this.getTagsForStencil("mxgraph.office.devices","microphone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.modem;",54,34,"","Modem",null,null,this.getTagsForStencil("mxgraph.office.devices","modem","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.nic;",
-57,38,"","NIC",null,null,this.getTagsForStencil("mxgraph.office.devices","nic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_digital;",49,42,"","Phone, Digital",null,null,this.getTagsForStencil("mxgraph.office.devices","phone digital","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_traditional;",
-48,40,"","Phone, Traditional",null,null,this.getTagsForStencil("mxgraph.office.devices","phone traditional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_usb;",58,51,"","Phone, USB",null,null,this.getTagsForStencil("mxgraph.office.devices","phone usb","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_voip;",
-57,51,"","Phone, VoIP",null,null,this.getTagsForStencil("mxgraph.office.devices","phone voip voice over internet protocol","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.printer;",56,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.office.devices","printer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.roundtable;",
-50,58,"","Roundtable",null,null,this.getTagsForStencil("mxgraph.office.devices","roundtable","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.router;",55,56,"","Router",null,null,this.getTagsForStencil("mxgraph.office.devices","router","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.session_border_controller;",
-59,52,"","Session Border Controller",null,null,this.getTagsForStencil("mxgraph.office.devices","session border controller","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.shadowed_router;",59,59,"","Shadowed Router",null,null,this.getTagsForStencil("mxgraph.office.devices","shadowed router","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.stylus;",57,57,"","Stylus",null,null,this.getTagsForStencil("mxgraph.office.devices","stylus","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.switch;",
-55,18,"","Switch",null,null,this.getTagsForStencil("mxgraph.office.devices","switch","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_android;",56,37,"","Tablet, Android",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet android","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_ipad;",
-39,52,"","Tablet, iPad",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet ipad","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_windows_7inch;",34,47,"","Tablet, Windows, 7inch",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows seven inch","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_windows_8;",56,35,"","Tablet, Windows 8",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows eight","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tv;",
-59,45,"","TV",null,null,this.getTagsForStencil("mxgraph.office.devices","tv television","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.video_camera;",52,25,"","Video Camera",null,null,this.getTagsForStencil("mxgraph.office.devices","video camera","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.video_gateway;",
-59,41,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","video gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.webcam;",40,50,"","Webcam",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.webcam_hd;",
-56,59,"","Webcam, HD",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam hd high definition","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation;",53,56,"","Workstation",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation_pc;",
-53,59,"","Workstation, PC",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation pc personal computer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation_visual_studio;",53,59,"","Workstation, Visual Studio",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation visual studio",
-"office device ").join(" "))];this.addPalette("officeDevices","Office / Devices",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSecurityPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.active_directory;",53,46,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.office.security",
-"active directory","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.address_book_policies;",55,53,"","Address Book Policies",null,null,this.getTagsForStencil("mxgraph.office.security","address book policies","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.certificate;",
-58,50,"","Certificate",null,null,this.getTagsForStencil("mxgraph.office.security","certificate","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.certificate;",39,33,"","Certificate (small)",null,null,this.getTagsForStencil("mxgraph.office.security","certificate small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.credentials;",
-56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.security","credentials","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.domain;",53,46,"","Domain",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.domain;",
-41,36,"","Domain (small)",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.email_address_policy;",55,53,"","Email Address Policy",null,null,this.getTagsForStencil("mxgraph.office.security","email address policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.federation_service;",
-58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.security","federation service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.federation_trust;",58,59,"","Federation Trust",null,null,this.getTagsForStencil("mxgraph.office.security","federation trust","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.irm_protected_message;",56,50,"","IRM-Protected Message",null,null,this.getTagsForStencil("mxgraph.office.security","irm protected message","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;",
-25,53,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#2072B8;",25,53,"","Key, Permissions (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#DA4026;",25,53,"","Key, Permissions (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#7FBA42;",
-25,53,"","Key, Permissions (green)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#CCCBCB;",25,53,"","Key, Permissions (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;",19,40,"","Key, Permissions (small)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;",
-38,52,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#2072B8;",38,52,"","Lock, Protected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#DA4026;",
-38,52,"","Lock, Protected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#7FBA42;",38,52,"","Lock, Protected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#CCCBCB;",38,52,"","Lock, Protected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;",
-28,37,"","Lock, Protected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;",38,55,"","Lock, Unprotected",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#2072B8;",38,55,"","Lock, Unprotected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#DA4026;",
-38,55,"","Lock, Unprotected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#7FBA42;",38,55,"","Lock, Unprotected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#CCCBCB;",38,55,"","Lock, Unprotected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;",
-28,40,"","Lock, Unprotected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security;",47,58,"","Lock With Key, Security",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
-"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_blue;",47,58,"","Lock With Key, Security (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_orange;",
-47,58,"","Lock With Key, Security (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_green;",47,58,"","Lock With Key, Security (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
-"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_ghosted;",47,58,"","Lock With Key, Security (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.management_role;",
-45,45,"","Management Role",null,null,this.getTagsForStencil("mxgraph.office.security","management role","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.policy;",53,49,"","Policy",null,null,this.getTagsForStencil("mxgraph.office.security","policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.policy;",
-39,36,"","Policy (small)",null,null,this.getTagsForStencil("mxgraph.office.security","policy small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.protected_voice_mail;",59,51,"","Protected Voice Mail",null,null,this.getTagsForStencil("mxgraph.office.security","protected voice mail","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.retention_policy;",54,55,"","Retention Policy",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.retention_policy_tag;",
-56,58,"","Retention Policy Tag",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy tag","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.role_assignment_policy;",55,54,"","Role Assignment Policy",null,null,this.getTagsForStencil("mxgraph.office.security","role assignment policy","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.security","role group","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.secure_messaging;",
-55,46,"","Secure Messaging",null,null,this.getTagsForStencil("mxgraph.office.security","secure messaging","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.security_access_portal;",64,55,"","Security Access Portal",null,null,this.getTagsForStencil("mxgraph.office.security","security access portal","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.sharing_policy;",56,53,"","Sharing Policy",null,null,this.getTagsForStencil("mxgraph.office.security","sharing policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.split_domain_user;",
-59,55,"","Split-Domain User",null,null,this.getTagsForStencil("mxgraph.office.security","split domain user","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token;",41,52,"","Token",null,null,this.getTagsForStencil("mxgraph.office.security","token","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token;",
-29,37,"","Token (small)",null,null,this.getTagsForStencil("mxgraph.office.security","token small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token_service;",60,56,"","Token Service",null,null,this.getTagsForStencil("mxgraph.office.security","token service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.trusted_application_server;",
-46,57,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.security","trusted application server","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.um_mailbox_policy;",55,53,"","UM Mailbox Policy",null,null,this.getTagsForStencil("mxgraph.office.security","um mailbox policy","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.security","universal security group","office security ").join(" "))];this.addPalette("officeSecurity","Office / Security",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addOfficeServersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.3rd_party_mail_server;",47,59,"","3rd Party Mail Server",null,null,this.getTagsForStencil("mxgraph.office.servers","3rd party mail server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_proxy;",
-44,55,"","Active Directory Federation Services Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server;",45,56,"","Active Directory Federation Services Server",null,null,
-this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_blue;",45,56,"","Active Directory Federation Services Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_orange;",45,56,"","Active Directory Federation Services Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_green;",
-45,56,"","Active Directory Federation Services Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_ghosted;",45,56,"","Active Directory Federation Services Server (ghosted)",
-null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server;",46,56,"","Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_blue;",
-46,56,"","Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_orange;",46,56,"","Application Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_green;",46,56,"","Application Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_ghosted;",
-46,56,"","Application Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.call_admission_control_service;",50,60,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.servers","call admission control service",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.certificate_authority;",46,59,"","Certificate Authority",null,null,this.getTagsForStencil("mxgraph.office.servers","certificate authority","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.cluster_server;",
-49,59,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.office.servers","cluster_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server;",43,56,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_blue;",
-43,56,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_orange;",43,56,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_green;",43,56,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_ghosted;",
-43,56,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.datacenter;",53,53,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.office.servers","datacenter","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.dirsync_server;",
-47,56,"","DirSync Server",null,null,this.getTagsForStencil("mxgraph.office.servers","dirsync server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.domain_controller;",45,55,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.office.servers","domain controller","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.excahnge_client_access_server_role;",
-52,59,"","Exchange Client Access Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","excahnge client access server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_edge_transport_server_role;",52,55,"","Exchange Edge Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"exchange edge transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_hub_transport_server_role;",52,59,"","Exchange Hub Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange hub transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_mailbox_server_role;",
-52,59,"","Exchange Mailbox Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_um_server_role;",52,59,"","Exchange UM Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange um server role",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_client_access_server;",57,59,"","Exchange Client Access Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange client access server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_edge_transport_server;",
-57,55,"","Exchange Edge Transport Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_mailbox_server;",57,59,"","Exchange Mailbox Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_server;",57,55,"","Exchange Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.file_server;",
-45,56,"","File Server",null,null,this.getTagsForStencil("mxgraph.office.servers","file server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.hybrid_server;",59,52,"","Hybrid Server",null,null,this.getTagsForStencil("mxgraph.office.servers","hybrid server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.mainframe;",
-58,42,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.mainframe_host;",44,42,"","Mainframe Host",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.monitoring_sql_reporting_services;",
-50,59,"","Monitoring SQL Reporting Services",null,null,this.getTagsForStencil("mxgraph.office.servers","monitoring sql reporting services","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.network;",34,57,"","Network",null,null,this.getTagsForStencil("mxgraph.office.servers","network","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.office_web_apps_server;",
-52,56,"","Office Web Apps Server",null,null,this.getTagsForStencil("mxgraph.office.servers","office web apps server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.on_premises_server;",44,58,"","On Premises Server",null,null,this.getTagsForStencil("mxgraph.office.servers","on premises server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.physical_host;fillColor=#2072B8;",27,52,"","Physical Host",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.physical_host_farm;fillColor=#2072B8;",
-56,49,"","Physical Host Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.reverse_proxy;",41,53,"","Reverse Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","reverse proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.scom;",
-56,53,"","SCOM",null,null,this.getTagsForStencil("mxgraph.office.servers","scom","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_disaster;",46,57,"","Server Disaster",null,null,this.getTagsForStencil("mxgraph.office.servers","server disaster","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;",
-56,49,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#2072B8;",56,49,"","Server Farm (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#DA4026;",
-56,49,"","Server Farm (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#7FBA42;",56,49,"","Server Farm (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#CCCBCB;",56,49,"","Server Farm (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;",
-27,52,"","Server, Generic",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#2072B8;",27,52,"","Server, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#DA4026;",
-27,52,"","Server, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#7FBA42;",27,52,"","Server, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#CCCBCB;",27,52,"","Server, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;",
-20,39,"","Server, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_side_code;",49,56,"","Server Side Code",null,null,this.getTagsForStencil("mxgraph.office.servers","server side code","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.sharepoint_server;",56,55,"","Sharepoint Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sharepoint server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_back_end_server;",
-54,60,"","Skype for Business Back End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_back_end_server_mirror;",54,60,"","Skype for Business Back End Server Mirror",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business back end server mirror","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_director;",54,55,"","Skype for Business Director",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_director_array;",
-70,60,"","Skype for Business Director Array",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director array","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_edge_server;",54,55,"","Skype for Business Edge Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business edge server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_edge_server_pool;",70,60,"","Skype for Business Edge Server Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_front_end_pool;",
-70,60,"","Skype for Business Front End Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business front end pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_front_end_server;",54,60,"","Skype for Business Front End Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business front end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_mediation_server;",54,60,"","Skype for Business Mediation Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business mediation server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_monitoring_server;",
-54,60,"","Skype for Business Monitoring Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business monitoring server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_persistent_chat_server;",54,58,"","Skype for Business Persistent Chat Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business persistent chat server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_server;",54,55,"","Skype for Business Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.sql_server;",
-43,56,"","SQL Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sql server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.survivable_branch_appliance;",37,59,"","Survivable Branch Appliance",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch appliance","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.survivable_branch_server;",42,58,"","Survivable Branch Server",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.topology_builder;",
-59,59,"","Topology Builder",null,null,this.getTagsForStencil("mxgraph.office.servers","topology builder","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.trusted_application_pool;",59,59,"","Trusted Application Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application pool","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.trusted_application_server;",43,52,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.tunnel_angled;",
-55,35,"","Tunnel Angled",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel angled","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.tunnel_straight;",59,10,"","Tunnel Straight",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel straight","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.universal_security_group;",
-58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.servers","universal security group","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.video_interop_server;",54,60,"","Video Interop Server",null,null,this.getTagsForStencil("mxgraph.office.servers","video interop server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_application_server;",48,55,"","Virtual Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_application_server;fillColor=#2072B8;",
-48,55,"","Virtual Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_database_server;",41,56,"","Virtual Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_database_server;fillColor=#2072B8;",41,56,"","Virtual Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;",
-28,52,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;fillColor=#2072B8;",28,52,"","Virtual Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;",
-20,37,"","Virtual Server (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_web_server;",44,55,"","Virtual Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_web_server;fillColor=#2072B8;",44,55,"","Virtual Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.vociemail_preview_partner;",
-46,56,"","Vociemail Preview Partner",null,null,this.getTagsForStencil("mxgraph.office.servers","vociemail preview partner","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server;",48,57,"","Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_blue;",
-48,57,"","Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_orange;",48,57,"","Web Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_green;",
-48,57,"","Web Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_ghosted;",48,57,"","Web Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.windows_router;",
-52,59,"","Windows Router",null,null,this.getTagsForStencil("mxgraph.office.servers","windows router","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.windows_server;",52,55,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.office.servers","windows server","office server ").join(" "))];this.addPalette("officeServers",
-"Office / Servers",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.services","3rd party service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.services","access services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.business_connectivity_services;",
-34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.services","business connectivity services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.call_admission_control_service;",50,59,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.services",
-"call admission control service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.central_management_service;",51,54,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.services","central management service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.conference_announcement_service;",
-59,59,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.services","conference announcement service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.device_update_service;",50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.services","device update service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.email_service;",58,48,"","Email Service",null,null,this.getTagsForStencil("mxgraph.office.services","email service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.excel_services;",
-60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.services","excel services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.federation_service;",58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.services","federation service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.lync_storage_service;",
-65,58,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","lync storage service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.lync_web_app_client;",83,51,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.services","lync web app client","office service ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.mobility_service;",45,53,"","Mobility Service",null,null,this.getTagsForStencil("mxgraph.office.services","mobility service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.network_file_share_service;",
-55,53,"","Network File Share Service",null,null,this.getTagsForStencil("mxgraph.office.services","network file share service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.online_hosted_services;",56,52,"","Online Hosted Services",null,null,this.getTagsForStencil("mxgraph.office.services","online hosted services",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.outlook_web_app;",83,51,"","Outlook Web App",null,null,this.getTagsForStencil("mxgraph.office.services","outlook web app","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.powerpoint_automation_services;",
-59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","powerpoint automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.services","push notification service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.registrar_service;",56,52,"","Registrar Service",null,null,this.getTagsForStencil("mxgraph.office.services","registrar service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.response_group_service;",
-58,54,"","Response Group Service",null,null,this.getTagsForStencil("mxgraph.office.services","response group service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","skype for business storage service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.services","user services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.verification_service;",
-57,59,"","Verification Service",null,null,this.getTagsForStencil("mxgraph.office.services","verification service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.services","web services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.word_automation_services;",
-60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","word automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.services","xmpp service","office service ").join(" "))];
-this.addPalette("officeServices","Office / Services",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSitesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.sites",
-"access services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.blog_site;",56,49,"","Blog Site",null,null,this.getTagsForStencil("mxgraph.office.sites","blog site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.business_connectivity_services;",
-34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.sites","business connectivity services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.sites","excel services","office site ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.meeting_workspace_site;",58,50,"","Meeting Workspace Site",null,null,this.getTagsForStencil("mxgraph.office.sites","meeting workspace site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.my_site;",
-58,49,"","My Site",null,null,this.getTagsForStencil("mxgraph.office.sites","my site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","powerpoint automation services","office site ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.publish;",57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.sites","publish","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_collection;",
-52,40,"","Site Collection",null,null,this.getTagsForStencil("mxgraph.office.sites","site collection","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_shared;",56,50,"","Site Shared",null,null,this.getTagsForStencil("mxgraph.office.sites","site shared","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_team;",
-60,49,"","Site, Team",null,null,this.getTagsForStencil("mxgraph.office.sites","site team","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;",53,40,"","Subsite",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#2072B8;",
-53,40,"","Subsite (blue)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#DA4026;",53,40,"","Subsite (orange)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#7FBA42;",
-53,40,"","Subsite (green)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#CCCBCB;",53,40,"","Subsite (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;",
-38,29,"","Subsite (small)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute small","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.upgrade_site;",59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.sites","upgrade site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.website;",
-59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.sites","website","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.website_public;",58,48,"","Website, Public",null,null,this.getTagsForStencil("mxgraph.office.sites","website public","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.wiki_site;",
-59,50,"","Wiki Site",null,null,this.getTagsForStencil("mxgraph.office.sites","wiki_site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.word_automation_services;",60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","word automation services","office site ").join(" "))];this.addPalette("officeSites",
-"Office / Sites",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeUsersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.administrator;",58,56,"","Administrator",null,null,this.getTagsForStencil("mxgraph.office.users","administrator","office user ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.approver;",59,55,"","Approver",null,null,this.getTagsForStencil("mxgraph.office.users","approver","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.call_center_agent;",
-46,55,"","Call Center Agent",null,null,this.getTagsForStencil("mxgraph.office.users","call center agent","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.communications;",54,58,"","Communications",null,null,this.getTagsForStencil("mxgraph.office.users","communications","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.conferencing_attendant;",
-53,59,"","Conferencing Attendant",null,null,this.getTagsForStencil("mxgraph.office.users","conferencing attendant","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.users","credentials","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.csv_file;",
-59,43,"","CSV File",null,null,this.getTagsForStencil("mxgraph.office.users","csv comma separated value file","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.distribution_group;",58,59,"","Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.dynamic_distribution_group;",
-58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","dynamic distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.mail_user;",58,59,"","Mail User",null,null,this.getTagsForStencil("mxgraph.office.users","mail user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.meeting;",
-59,38,"","Meeting",null,null,this.getTagsForStencil("mxgraph.office.users","meeting","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.mobile_user;",59,56,"","Mobile User",null,null,this.getTagsForStencil("mxgraph.office.users","mobile user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.online_user;",
-54,43,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.users","online user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.on_premises_user;",49,59,"","On-Premises User",null,null,this.getTagsForStencil("mxgraph.office.users","on premises user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.outlook_user;",
-63,55,"","Outlook User",null,null,this.getTagsForStencil("mxgraph.office.users","outlook user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.users","response group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.role_group;",
-59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.users","role group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.skype_commercial_user;",59,56,"","Skype Commercial User",null,null,this.getTagsForStencil("mxgraph.office.users","skype commercial user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.skype_for_business_user;",
-59,56,"","Skype for Business User",null,null,this.getTagsForStencil("mxgraph.office.users","skype for business user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.tenant_admin;",56,58,"","Tenant Admin",null,null,this.getTagsForStencil("mxgraph.office.users","tenant admin","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.um_enabled_user;",
-58,59,"","UM-Enabled User",null,null,this.getTagsForStencil("mxgraph.office.users","um enabled user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.users","universal security group","office user ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;",46,50,"","User",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#2072B8;",
-46,50,"","User (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#DA4026;",46,50,"","User (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#7FBA42;",
-46,50,"","User (green)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#CCCBCB;",46,50,"","User (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;",
-32,35,"","User (small)",null,null,this.getTagsForStencil("mxgraph.office.users","user small","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;",46,50,"","Users",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#2072B8;",
-46,50,"","Users (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#DA4026;",46,50,"","Users (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#7FBA42;",
-46,50,"","Users (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#CCCBCB;",46,50,"","Users (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;",
-57,43,"","Users, Two",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#2072B8;",57,43,"","Users, Two (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#DA4026;",
-57,43,"","Users, Two (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#7FBA42;",57,43,"","Users, Two (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#CCCBCB;",
-57,43,"","Users, Two (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_accounts;",59,59,"","User Accounts",null,null,this.getTagsForStencil("mxgraph.office.users","user accounts","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_external;",
-59,50,"","User External",null,null,this.getTagsForStencil("mxgraph.office.users","user external","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.users","user services","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_store;",
-50,55,"","User Store",null,null,this.getTagsForStencil("mxgraph.office.users","user store","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.writer;",54,59,"","Writer",null,null,this.getTagsForStencil("mxgraph.office.users","writer","office user ").join(" "))];this.addPalette("officeUsers","Office / Users",!1,mxUtils.bind(this,
-function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addPidInstrumentsPalette=function(){var a="html=1;align=center;dashed=0;"+mxConstants.STYLE_SHAPE+"=mxgraph.pid2";this.addPaletteFunctions("pidInstruments","Proc. Eng. / Instruments",!1,[this.createVertexTemplateEntry(a+"inst.discInst;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
+100,85,"","Wireless Hub",null,null,this.getTagsForStencil("mxgraph.networks","wireless_hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_modem;",100,85,"","Wireless Modem",null,null,this.getTagsForStencil("mxgraph.networks","wireless_modem","computer network ").join(" "))])}})();(function(){Sidebar.prototype.addOfficePalette=function(){this.addOfficeCloudsPalette();this.addOfficeCommunicationsPalette();this.addOfficeConceptsPalette();this.addOfficeDatabasesPalette();this.addOfficeDevicesPalette();this.addOfficeSecurityPalette();this.addOfficeServersPalette();this.addOfficeServicesPalette();this.addOfficeSitesPalette();this.addOfficeUsersPalette()};Sidebar.prototype.addOfficeCloudsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.azure;",
+103,66,"","Azure",null,null,this.getTagsForStencil("mxgraph.office.clouds","azure","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud;",94,55,"","Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_disaster;",
+94,74,"","Cloud Disaster",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_disaster;fillColor=#ff0000;",94,74,"","Cloud Disaster (Red)",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_exchange_online;",
+100,61,"","Cloud Exchange Online",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud exchange online","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_service_request;",102,80,"","Cloud Service Request",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud service request","office cloud ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_sharepoint;",101,61,"","Cloud SharePoint",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud sharepoint","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.office_365;",
+101,61,"","Office 365",null,null,this.getTagsForStencil("mxgraph.office.clouds","office 365","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.online_backup;",94,101,"","Online Backup",null,null,this.getTagsForStencil("mxgraph.office.clouds","online backup","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.online_user;",
+93,74,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.clouds","online user","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.private_cloud;",94,55,"","Private Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","private cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.public_cloud;",
+101,81,"","Public Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","public cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.public_im_cloud_service;",102,99,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.clouds","public im instant message cloud service",
+"office cloud ").join(" "))];this.addPalette("officeClouds","Office / Clouds",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeCommunicationsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_call_center_solution;",98,101,"",
+"3rd Party Call Center Solution",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party call center solution","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_integration;",54,55,"","3rd Party Integration",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"3rd party integration","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.application_sharing_workload;",
+57,49,"","Application Sharing Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","application sharing workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.audio_conferencing_application;",59,46,"","Audio Conferencing Application",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"audio_conferencing_application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.central_management_service;",52,55,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.communications","central management service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.chat_room;",
+46,48,"","Chat Room",null,null,this.getTagsForStencil("mxgraph.office.communications","chat room","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.conference_announcement_service;",60,60,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"conference announcement service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.disconnected_mailbox;",60,55,"","Disconnected Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","disconnected mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.discovery_search_mailbox;",
+55,49,"","Discovery Search Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","discovery search mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"dynamic distribution group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.edge_subscription;",57,59,"","Edge Subscription",null,null,this.getTagsForStencil("mxgraph.office.communications","edge subscription","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.email_workloaad;",
+57,47,"","Email Workloaad",null,null,this.getTagsForStencil("mxgraph.office.communications","email workloaad","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.equipment_mailbox;",59,59,"","Equipment Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","equipment mailbox",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.exchange_active_sync;",49,49,"","Exchange Active Sync",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.exchange_active_sync;fillColor=#2072B8;",
+49,49,"","Exchange Active Sync - Blue",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.fax_partner;",45,56,"","Fax Partner",null,null,this.getTagsForStencil("mxgraph.office.communications","fax partner",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.global_address_list;",59,53,"","Global Address List",null,null,this.getTagsForStencil("mxgraph.office.communications","global address list","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.hybrid_voip_gateway;",
+59,38,"","Hybrid VOIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","hybrid voip gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.im_workload;",56,54,"","IM Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","im workload instant message",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.journaling_rule;",52,58,"","Journaling Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","journaling rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.local_move_request;",
+57,57,"","Local Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","local move request","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_control_panel;",69,58,"","Lync Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","lync control panel",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_phone_edition;",80,45,"","Lync Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","lync phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_room_system;",
+80,42,"","Lync Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","lync room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_server_management_tool;",75,47,"","Lync Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"lync server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_storage_service;",66,59,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","lync storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_web_app_client;",
+83,50,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","lync web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.mail_enabled_public_folder;",58,52,"","Mail-Enabled Public Folder",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"mail enabled public folder","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.mailbox_assistant;",59,57,"","Mailbox Assistant",null,null,this.getTagsForStencil("mxgraph.office.communications","mailbox assistant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.messages_queued;",
+59,57,"","Messages Queued",null,null,this.getTagsForStencil("mxgraph.office.communications","messages queued","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.offline_address_book;",59,53,"","Offline Address Book",null,null,this.getTagsForStencil("mxgraph.office.communications","offline address book",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.personal_archive_mailbox;",59,58,"","Personal Archive Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","personal archive mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.public_im_cloud_service;",
+60,58,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.communications","public im cloud service instant message","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"push notification service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.queue_viewer;",59,57,"","Queue Viewer",null,null,this.getTagsForStencil("mxgraph.office.communications","queue viewer","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.remote_mailbox;",
+59,57,"","Remote Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","remote mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.remote_move_request;",60,57,"","Remote Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","remote move request",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.communications","response group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.room_mailbox;",
+60,57,"","Room Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","room mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.shared_mailbox;",60,55,"","Shared Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","shared mailbox","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.sip_uri_um_dial_plan;",55,56,"","SIP URI UM Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","sip uri um dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.site_mailbox;",
+59,54,"","Site Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","site mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_control_panel;",65,59,"","Skype for Business Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"skype for business control panel","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_phone_edition;",76,45,"","Skype for Business Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business phone edition","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_room_system;",74,41,"","Skype for Business Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_server_management_tool;",
+72,48,"","Skype for Business Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",
+null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_web_app_client;",80,51,"","Skype for Business Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"skype for business web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.sms_gateway;",59,37,"","SMS Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","sms gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.smtp_connector;",
+47,49,"","SMTP Connector",null,null,this.getTagsForStencil("mxgraph.office.communications","smtp connector","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.system_mailbox;",58,55,"","System Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","system mailbox","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.tdm_pbx;",59,46,"","TDM PBX",null,null,this.getTagsForStencil("mxgraph.office.communications","tdm pbx","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.telephone_extension_dial_plan;",
+55,56,"","Telephone Extension Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","telephone extension dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.transport_rule;",56,57,"","Transport Rule",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"transport rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.ucma_application;",53,40,"","UCMA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucma application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.ucwa_application;",
+53,40,"","UCWA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucwa application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_auto_attendant;",57,57,"","UM Auto Attendant",null,null,this.getTagsForStencil("mxgraph.office.communications","um auto attendant",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_dial_plan_e164;",55,56,"","UM Dial Plan E164",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan e164","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_dial_plan_secondary;",
+55,56,"","UM Dial Plan Secondary",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan secondary","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_enabled_mailbox;",59,57,"","UM Enabled Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"um enabled mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_hunt_group;",59,48,"","UM Hunt Group",null,null,this.getTagsForStencil("mxgraph.office.communications","um hunt group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_ip_gateway;",
+59,38,"","UM IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","um ip gateway internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.user_mailbox;",59,55,"","User Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","user mailbox",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.video_workload;",57,50,"","Video Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","video workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voice_mail_preview;",
+46,56,"","Voice Mail Preview",null,null,this.getTagsForStencil("mxgraph.office.communications","voice mail preview","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voice_workload;",58,51,"","Voice Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","voice workload",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voip_gateway;",51,15,"","VoIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","voip gateway voice over ip internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.watcher_node;",
+52,56,"","Watcher Node",null,null,this.getTagsForStencil("mxgraph.office.communications","watcher node","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.communications","xmpp service","office communication ").join(" "))];
+this.addPalette("officeCommunications","Office / Communications",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeConceptsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.address_book;",55,44,"","Address Book",null,null,this.getTagsForStencil("mxgraph.office.concepts",
+"address book","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.address_book;",40,31,"","Address Book (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.anti_spam;",
+55,47,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.office.concepts","anti spam","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_android;",60,51,"","Application Android",null,null,this.getTagsForStencil("mxgraph.office.concepts","application android","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_generic;",53,40,"","Application Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_generic;",
+40,30,"","Application Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_hybrid;",59,44,"","Application Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","application hybrid",
+"office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_ios;",59,49,"","Application iOS",null,null,this.getTagsForStencil("mxgraph.office.concepts","application ios","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_web;",
+56,49,"","Application Web",null,null,this.getTagsForStencil("mxgraph.office.concepts","application web","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_windows;",59,47,"","Application Windows",null,null,this.getTagsForStencil("mxgraph.office.concepts","application windows","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_for_office;",53,40,"","App for Office",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for office","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_for_sharepoint;",
+53,40,"","App For SharePoint",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for sharepoint","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_part;",46,45,"","App Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","app part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.archive;",
+35,55,"","Archive",null,null,this.getTagsForStencil("mxgraph.office.concepts","archive","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.attachment;",22,44,"","Attachment",null,null,this.getTagsForStencil("mxgraph.office.concepts","attachment","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.backup_local;",
+48,44,"","Backup Local",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup local","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.backup_online;",55,60,"","Backup Online",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup online","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.bandwidth;",
+45,45,"","Bandwidth",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.bandwidth_calculator;",49,53,"","Bandwidth Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth calculator","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.best_practices;",53,53,"","Best Practices",null,null,this.getTagsForStencil("mxgraph.office.concepts","best practices","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.book_journal;",
+41,49,"","Book, Journal",null,null,this.getTagsForStencil("mxgraph.office.concepts","book journal","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.calculator;",32,46,"","Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.calendar;",
+53,49,"","Calendar",null,null,this.getTagsForStencil("mxgraph.office.concepts","calendar","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clipboard;",40,52,"","Clipboard",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clipboard;",
+30,39,"","Clipboard (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clock;",45,45,"","Clock",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clock;",
+35,35,"","Clock (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.column;",52,43,"","Column",null,null,this.getTagsForStencil("mxgraph.office.concepts","column","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.connector;",
+44,32,"","Connector",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.connector;",33,24,"","Connector (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.contacts;",
+53,39,"","Contacts",null,null,this.getTagsForStencil("mxgraph.office.concepts","contacts","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.content_type;",53,40,"","Content Type",null,null,this.getTagsForStencil("mxgraph.office.concepts","content type","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.credit_card;",
+55,36,"","Credit Card",null,null,this.getTagsForStencil("mxgraph.office.concepts","credit card","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document;",40,47,"","Document",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document;",
+30,35,"","Document (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.documents;",46,54,"","Documents",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.documents_shared;",
+58,59,"","Documents Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_blank;",40,47,"","Document Blank",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_blank;",30,35,"","Document Blank (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_shared;",
+52,53,"","Document Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","document shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.download;",48,56,"","Download",null,null,this.getTagsForStencil("mxgraph.office.concepts","download","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email;",
+47,36,"","Email",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email;",31,24,"","Email (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_approved;",
+56,46,"","Email Approved",null,null,this.getTagsForStencil("mxgraph.office.concepts","email approved","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_expired;",56,46,"","Email Expired",null,null,this.getTagsForStencil("mxgraph.office.concepts","email expired","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_rejected;",
+55,45,"","Email Rejected",null,null,this.getTagsForStencil("mxgraph.office.concepts","email rejected","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.file_key;",48,53,"","File Key",null,null,this.getTagsForStencil("mxgraph.office.concepts","file key","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;",
+47,43,"","Firewall",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#2072B8;",47,43,"","Firewall (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#DA4026;",
+47,43,"","Firewall (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#7FBA42;",47,43,"","Firewall (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#CCCBCB;",
+47,43,"","Firewall (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;",50,45,"","Folder",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#2072B8;",
+50,45,"","Folder (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#DA4026;",50,45,"","Folder (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#7FBA42;",
+50,45,"","Folder (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#CCCBCB;",50,45,"","Folder (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;",
+33,30,"","Folder (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folders;",57,53,"","Folders",null,null,this.getTagsForStencil("mxgraph.office.concepts","folders","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_open;",
+56,43,"","Folder, Open",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder open","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_public;",58,52,"","Folder, Public",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder public","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_shared;",
+54,52,"","Folder, Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.form;",56,49,"","Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.get_started;",
+42,52,"","Get Started",null,null,this.getTagsForStencil("mxgraph.office.concepts","get started","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.globe_internet;",49,49,"","Globe, Internet",null,null,this.getTagsForStencil("mxgraph.office.concepts","globe internet","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.help;",
+49,49,"","Help",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.help;",38,38,"","Help (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;",
+51,50,"","Home",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#2072B8;",51,50,"","Home (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#DA4026;",
+51,50,"","Home (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#7FBA42;",51,50,"","Home (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#CCCBCB;",
+51,50,"","Home (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;",39,38,"","Home (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;",
+53,43,"","Home Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#2072B8;",53,43,"","Home Page (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#DA4026;",
+53,43,"","Home Page (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#7FBA42;",53,43,"","Home Page (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#CCCBCB;",
+53,43,"","Home Page (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.hybrid;",58,52,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.input_output_filter;",
+46,46,"","Input Output Filter",null,null,this.getTagsForStencil("mxgraph.office.concepts","input output filter","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.install;",45,52,"","Install",null,null,this.getTagsForStencil("mxgraph.office.concepts","install","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.integration;",
+44,43,"","Integration",null,null,this.getTagsForStencil("mxgraph.office.concepts","integration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.lab;",47,50,"","Lab",null,null,this.getTagsForStencil("mxgraph.office.concepts","lab","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.learn;",
+56,57,"","Learn",null,null,this.getTagsForStencil("mxgraph.office.concepts","learn","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.license;",45,52,"","License",null,null,this.getTagsForStencil("mxgraph.office.concepts","license","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.link;",
+61,21,"","Link",null,null,this.getTagsForStencil("mxgraph.office.concepts","link","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.list_library;",52,48,"","List Library",null,null,this.getTagsForStencil("mxgraph.office.concepts","list library","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox;",
+53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox2;",
+53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox2;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.maintenance;",
+39,56,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.office.concepts","maintenance","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.marketplace_shopping_bag;",36,46,"","Marketplace, Shopping Bag",null,null,this.getTagsForStencil("mxgraph.office.concepts","marketplace shopping bag","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.meets_requirements;",56,53,"","Meets Requirements",null,null,this.getTagsForStencil("mxgraph.office.concepts","meets requirements","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.migration;",
+59,34,"","Migration",null,null,this.getTagsForStencil("mxgraph.office.concepts","migration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.moes;",40,47,"","MOEs",null,null,this.getTagsForStencil("mxgraph.office.concepts","moes","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.navigation;",
+53,40,"","Navigation",null,null,this.getTagsForStencil("mxgraph.office.concepts","navigation","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;",46,52,"","Node, Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#2072B8;",
+46,52,"","Node, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#DA4026;",46,52,"","Node, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#7FBA42;",46,52,"","Node, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#CCCBCB;",
+46,52,"","Node, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.office_installed;",58,48,"","Office Installed",null,null,this.getTagsForStencil("mxgraph.office.concepts","office installed","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.on_premises;",34,55,"","On Premises",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.on_premises_directory;",
+50,59,"","On Premises Directory",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises directory","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.phishing;",59,47,"","Phishing",null,null,this.getTagsForStencil("mxgraph.office.concepts","phishing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.pin;",
+24,44,"","Pin",null,null,this.getTagsForStencil("mxgraph.office.concepts","pin","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.platform_options;",58,52,"","Platform Options",null,null,this.getTagsForStencil("mxgraph.office.concepts","platform options","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.powershell;",
+45,45,"","PowerShell",null,null,this.getTagsForStencil("mxgraph.office.concepts","powershell","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.properties;",50,49,"","Properties",null,null,this.getTagsForStencil("mxgraph.office.concepts","properties","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.publish;",
+57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.concepts","publish","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.remote_access;",59,41,"","Remote Access",null,null,this.getTagsForStencil("mxgraph.office.concepts","remote access","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.script;",
+53,49,"","Script",null,null,this.getTagsForStencil("mxgraph.office.concepts","script","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.search;",49,49,"","Search",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.search;",
+35,35,"","Search (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.service_application;",59,48,"","Service Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","service application","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings;",48,48,"","Settings",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings_office_365;",
+48,48,"","Settings, Office 365",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings_office_365;",31,31,"","Settings, Office 365 (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365",
+"office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.sign_up;",51,47,"","Sign Up",null,null,this.getTagsForStencil("mxgraph.office.concepts","sign up","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.sound_file;",
+40,50,"","Sound File",null,null,this.getTagsForStencil("mxgraph.office.concepts","sound file","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.tasks;",40,52,"","Tasks",null,null,this.getTagsForStencil("mxgraph.office.concepts","tasks","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.technical_diagram;",
+50,56,"","Technical Diagram",null,null,this.getTagsForStencil("mxgraph.office.concepts","technical diagram","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_application;",58,42,"","Upgrade Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade application","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_server;",39,52,"","Upgrade Server",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade server","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_site;",
+59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade site","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upload;",48,55,"","Upload",null,null,this.getTagsForStencil("mxgraph.office.concepts","upload","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.video_form;",
+58,49,"","Video Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","video form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.video_play;",50,40,"","Video Play",null,null,this.getTagsForStencil("mxgraph.office.concepts","video play","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.voicemail;",
+53,34,"","Voicemail",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.voicemail_preview;",57,52,"","Voicemail Preview",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail preview","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.walkthrough;",
+41,58,"","Walkthrough",null,null,this.getTagsForStencil("mxgraph.office.concepts","walkthrough","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.website;",59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.concepts","website","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_conferencing;",
+60,56,"","Web Conferencing",null,null,this.getTagsForStencil("mxgraph.office.concepts","web conferencing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_page;",50,54,"","Web Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","web page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_part;",
+45,52,"","Web Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","web part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.concepts","web services","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.whats_new;",
+55,38,"","Whats New",null,null,this.getTagsForStencil("mxgraph.office.concepts","whats new","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.writing_pen;",54,54,"","Writing, Pen",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pen","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.writing_pencil;",
+50,50,"","Writing, Pencil",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pencil","office concept ").join(" "))];this.addPalette("officeConcepts","Office / Concepts",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDatabasesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.address_book_store;",
+50,54,"","Address Book Store",null,null,this.getTagsForStencil("mxgraph.office.databases","address_book_store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.application_store;",49,53,"","Application Store",null,null,this.getTagsForStencil("mxgraph.office.databases","application store","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;",35,49,"","Database",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#2072B8;",
+35,49,"","Database (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#DA4026;",35,49,"","Database (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#7FBA42;",
+35,49,"","Database (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#CCCBCB;",35,49,"","Database (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;",
+28,38,"","Database (small)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_availability_group;",59,59,"","Database Availability Group",null,null,this.getTagsForStencil("mxgraph.office.databases","availability group","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;",47,52,"","Database Cube",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#2072B8;",
+47,52,"","Database Cube (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#DA4026;",47,52,"","Database Cube (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#7FBA42;",47,52,"","Database Cube (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#CCCBCB;",
+47,52,"","Database Cube (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;",35,27,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#2072B8;",35,27,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#DA4026;",
+35,27,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#7FBA42;",35,27,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#CCCBCB;",35,27,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;",
+35,42,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#2072B8;",35,42,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#DA4026;",
+35,42,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#7FBA42;",35,42,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#CCCBCB;",35,42,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;",
+35,57,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#2072B8;",35,57,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#DA4026;",
+35,57,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#7FBA42;",35,57,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#CCCBCB;",35,57,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mirror;",
+60,59,"","Database Mirror",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mirror_witness_node;",60,59,"","Database Mirror Witness Node",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror witness node",
+"office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_2;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_3;",
+57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_4;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_5;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_public_folder;",
+53,54,"","Database Public Folder",null,null,this.getTagsForStencil("mxgraph.office.databases","public folder","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server;",43,57,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.databases","server","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_blue;",43,57,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_orange;",
+43,57,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_green;",43,57,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_ghosted;",43,57,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.mailbox_database;",
+53,55,"","Mailbox Database",null,null,this.getTagsForStencil("mxgraph.office.databases","mailbox","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.monitoring_store;",58,58,"","Monitoring Store",null,null,this.getTagsForStencil("mxgraph.office.databases","monitoring store","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.unified_contact_store;",54,55,"","Unified Contact Store",null,null,this.getTagsForStencil("mxgraph.office.databases","unified contact store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.web_store;",
+50,54,"","Web Store",null,null,this.getTagsForStencil("mxgraph.office.databases","web store","office database db ").join(" "))];this.addPalette("officeDatabases","Office / Databases",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDevicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.bluetooth;",
+56,57,"","Bluetooth",null,null,this.getTagsForStencil("mxgraph.office.devices","bluetooth","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cd_dvd;",49,49,"","CD, DVD",null,null,this.getTagsForStencil("mxgraph.office.devices","cd dvd compact disc digital video drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_android_proportional;",
+17,31,"","Cell Phone, Android, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_android_standalone;",24,44,"","Cell Phone, Android, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone android standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_generic;",26,47,"","Cell Phone, Generic",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_generic;",
+21,37,"","Cell Phone, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_iphone_proportional;",17,29,"","Cell Phone, iPhone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone iphone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_iphone_standalone;",25,42,"","Cell Phone, iPhone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_windows_phone_proportional;",
+16,29,"","Cell Phone, Windows Phone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone windows phone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_windows_phone_standalone;",24,42,"","Cell Phone, Windows Phone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone windows standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.data_jack;",47,47,"","Data Jack",null,null,this.getTagsForStencil("mxgraph.office.devices","data jack","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.device_update_service;",
+50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.devices","device update service","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.fax;",57,47,"","Fax",null,null,this.getTagsForStencil("mxgraph.office.devices","fax","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.hard_disk;",
+40,54,"","Hard Disk",null,null,this.getTagsForStencil("mxgraph.office.devices","hard disk hdd drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.headset;",36,48,"","Headset",null,null,this.getTagsForStencil("mxgraph.office.devices","headset","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ipad_mini;",
+33,47,"","iPad, Mini",null,null,this.getTagsForStencil("mxgraph.office.devices","ipad mini","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ip_gateway;",59,40,"","IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","ip gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ip_pbx;",
+59,39,"","IP PBX",null,null,this.getTagsForStencil("mxgraph.office.devices","ip pbx","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;",58,34,"","Laptop",null,null,this.getTagsForStencil("mxgraph.office.devices","laptop","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.lcd_monitor;",
+58,48,"","LCD Monitor",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.lcd_monitor;",39,32,"","LCD Monitor (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.load_balancer;",
+59,39,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.office.devices","load balancer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.mac_client;",58,48,"","Mac Client",null,null,this.getTagsForStencil("mxgraph.office.devices","mac client","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.management_console;",
+58,48,"","Management Console",null,null,this.getTagsForStencil("mxgraph.office.devices","management console","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.microphone;",53,37,"","Microphone",null,null,this.getTagsForStencil("mxgraph.office.devices","microphone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.modem;",
+54,34,"","Modem",null,null,this.getTagsForStencil("mxgraph.office.devices","modem","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.nic;",57,38,"","NIC",null,null,this.getTagsForStencil("mxgraph.office.devices","nic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_digital;",
+49,42,"","Phone, Digital",null,null,this.getTagsForStencil("mxgraph.office.devices","phone digital","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_traditional;",48,40,"","Phone, Traditional",null,null,this.getTagsForStencil("mxgraph.office.devices","phone traditional","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_usb;",58,51,"","Phone, USB",null,null,this.getTagsForStencil("mxgraph.office.devices","phone usb","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_voip;",
+57,51,"","Phone, VoIP",null,null,this.getTagsForStencil("mxgraph.office.devices","phone voip voice over internet protocol","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.printer;",56,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.office.devices","printer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.roundtable;",
+50,58,"","Roundtable",null,null,this.getTagsForStencil("mxgraph.office.devices","roundtable","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.router;",55,56,"","Router",null,null,this.getTagsForStencil("mxgraph.office.devices","router","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.session_border_controller;",
+59,52,"","Session Border Controller",null,null,this.getTagsForStencil("mxgraph.office.devices","session border controller","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.shadowed_router;",59,59,"","Shadowed Router",null,null,this.getTagsForStencil("mxgraph.office.devices","shadowed router","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.stylus;",57,57,"","Stylus",null,null,this.getTagsForStencil("mxgraph.office.devices","stylus","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.switch;",
+55,18,"","Switch",null,null,this.getTagsForStencil("mxgraph.office.devices","switch","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_android;",56,37,"","Tablet, Android",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet android","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_ipad;",
+39,52,"","Tablet, iPad",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet ipad","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_windows_7inch;",34,47,"","Tablet, Windows, 7inch",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows seven inch","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_windows_8;",56,35,"","Tablet, Windows 8",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows eight","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tv;",
+59,45,"","TV",null,null,this.getTagsForStencil("mxgraph.office.devices","tv television","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.video_camera;",52,25,"","Video Camera",null,null,this.getTagsForStencil("mxgraph.office.devices","video camera","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.video_gateway;",
+59,41,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","video gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.webcam;",40,50,"","Webcam",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.webcam_hd;",
+56,59,"","Webcam, HD",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam hd high definition","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation;",53,56,"","Workstation",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation_pc;",
+53,59,"","Workstation, PC",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation pc personal computer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation_visual_studio;",53,59,"","Workstation, Visual Studio",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation visual studio",
+"office device ").join(" "))];this.addPalette("officeDevices","Office / Devices",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSecurityPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.active_directory;",53,46,"","Active Directory",null,
+null,this.getTagsForStencil("mxgraph.office.security","active directory","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.address_book_policies;",55,53,"","Address Book Policies",null,null,this.getTagsForStencil("mxgraph.office.security","address book policies","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.certificate;",
+58,50,"","Certificate",null,null,this.getTagsForStencil("mxgraph.office.security","certificate","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.certificate;",39,33,"","Certificate (small)",null,null,this.getTagsForStencil("mxgraph.office.security","certificate small","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.security","credentials","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.domain;",
+53,46,"","Domain",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.domain;",41,36,"","Domain (small)",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.email_address_policy;",
+55,53,"","Email Address Policy",null,null,this.getTagsForStencil("mxgraph.office.security","email address policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.federation_service;",58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.security","federation service","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.federation_trust;",58,59,"","Federation Trust",null,null,this.getTagsForStencil("mxgraph.office.security","federation trust","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.irm_protected_message;",
+56,50,"","IRM-Protected Message",null,null,this.getTagsForStencil("mxgraph.office.security","irm protected message","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;",25,53,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#2072B8;",25,53,"","Key, Permissions (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#DA4026;",
+25,53,"","Key, Permissions (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#7FBA42;",25,53,"","Key, Permissions (green)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#CCCBCB;",25,53,"","Key, Permissions (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;",
+19,40,"","Key, Permissions (small)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;",38,52,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#2072B8;",38,52,"","Lock, Protected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#DA4026;",
+38,52,"","Lock, Protected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#7FBA42;",38,52,"","Lock, Protected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#CCCBCB;",38,52,"","Lock, Protected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;",
+28,37,"","Lock, Protected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;",38,55,"","Lock, Unprotected",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#2072B8;",38,55,"","Lock, Unprotected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#DA4026;",
+38,55,"","Lock, Unprotected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#7FBA42;",38,55,"","Lock, Unprotected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#CCCBCB;",38,55,"","Lock, Unprotected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;",
+28,40,"","Lock, Unprotected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security;",47,58,"","Lock With Key, Security",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_blue;",47,58,"","Lock With Key, Security (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_orange;",
+47,58,"","Lock With Key, Security (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_green;",47,58,"","Lock With Key, Security (green)",null,null,this.getTagsForStencil("mxgraph.office.security",
+"lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_ghosted;",47,58,"","Lock With Key, Security (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.management_role;",
+45,45,"","Management Role",null,null,this.getTagsForStencil("mxgraph.office.security","management role","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.policy;",53,49,"","Policy",null,null,this.getTagsForStencil("mxgraph.office.security","policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.policy;",
+39,36,"","Policy (small)",null,null,this.getTagsForStencil("mxgraph.office.security","policy small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.protected_voice_mail;",59,51,"","Protected Voice Mail",null,null,this.getTagsForStencil("mxgraph.office.security","protected voice mail","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.retention_policy;",54,55,"","Retention Policy",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.retention_policy_tag;",
+56,58,"","Retention Policy Tag",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy tag","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.role_assignment_policy;",55,54,"","Role Assignment Policy",null,null,this.getTagsForStencil("mxgraph.office.security","role assignment policy",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.security","role group","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.secure_messaging;",
+55,46,"","Secure Messaging",null,null,this.getTagsForStencil("mxgraph.office.security","secure messaging","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.security_access_portal;",64,55,"","Security Access Portal",null,null,this.getTagsForStencil("mxgraph.office.security","security access portal","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.sharing_policy;",56,53,"","Sharing Policy",null,null,this.getTagsForStencil("mxgraph.office.security","sharing policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.split_domain_user;",
+59,55,"","Split-Domain User",null,null,this.getTagsForStencil("mxgraph.office.security","split domain user","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token;",41,52,"","Token",null,null,this.getTagsForStencil("mxgraph.office.security","token","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token;",
+29,37,"","Token (small)",null,null,this.getTagsForStencil("mxgraph.office.security","token small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token_service;",60,56,"","Token Service",null,null,this.getTagsForStencil("mxgraph.office.security","token service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.trusted_application_server;",
+46,57,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.security","trusted application server","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.um_mailbox_policy;",55,53,"","UM Mailbox Policy",null,null,this.getTagsForStencil("mxgraph.office.security","um mailbox policy",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.security","universal security group","office security ").join(" "))];this.addPalette("officeSecurity","Office / Security",!1,mxUtils.bind(this,
+function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.3rd_party_mail_server;",47,59,"","3rd Party Mail Server",null,null,this.getTagsForStencil("mxgraph.office.servers","3rd party mail server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_proxy;",44,55,"","Active Directory Federation Services Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server;",
+45,56,"","Active Directory Federation Services Server",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_blue;",45,56,"","Active Directory Federation Services Server (blue)",
+null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_orange;",45,56,"","Active Directory Federation Services Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_green;",45,56,"","Active Directory Federation Services Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_ghosted;",45,56,"","Active Directory Federation Services Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server;",
+46,56,"","Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_blue;",46,56,"","Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_orange;",46,56,"","Application Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_green;",
+46,56,"","Application Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_ghosted;",46,56,"","Application Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.call_admission_control_service;",50,60,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.servers","call admission control service","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.certificate_authority;",
+46,59,"","Certificate Authority",null,null,this.getTagsForStencil("mxgraph.office.servers","certificate authority","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.cluster_server;",49,59,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.office.servers","cluster_server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server;",43,56,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_blue;",
+43,56,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_orange;",43,56,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_green;",43,56,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_ghosted;",
+43,56,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.datacenter;",53,53,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.office.servers","datacenter","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.dirsync_server;",
+47,56,"","DirSync Server",null,null,this.getTagsForStencil("mxgraph.office.servers","dirsync server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.domain_controller;",45,55,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.office.servers","domain controller","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.excahnge_client_access_server_role;",52,59,"","Exchange Client Access Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","excahnge client access server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_edge_transport_server_role;",
+52,55,"","Exchange Edge Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_hub_transport_server_role;",52,59,"","Exchange Hub Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"exchange hub transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_mailbox_server_role;",52,59,"","Exchange Mailbox Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_um_server_role;",
+52,59,"","Exchange UM Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange um server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_client_access_server;",57,59,"","Exchange Client Access Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange client access server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_edge_transport_server;",57,55,"","Exchange Edge Transport Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_mailbox_server;",
+57,59,"","Exchange Mailbox Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_server;",57,55,"","Exchange Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.file_server;",45,56,"","File Server",null,null,this.getTagsForStencil("mxgraph.office.servers","file server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.hybrid_server;",
+59,52,"","Hybrid Server",null,null,this.getTagsForStencil("mxgraph.office.servers","hybrid server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.mainframe;",58,42,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.mainframe_host;",
+44,42,"","Mainframe Host",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.monitoring_sql_reporting_services;",50,59,"","Monitoring SQL Reporting Services",null,null,this.getTagsForStencil("mxgraph.office.servers","monitoring sql reporting services",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.network;",34,57,"","Network",null,null,this.getTagsForStencil("mxgraph.office.servers","network","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.office_web_apps_server;",
+52,56,"","Office Web Apps Server",null,null,this.getTagsForStencil("mxgraph.office.servers","office web apps server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.on_premises_server;",44,58,"","On Premises Server",null,null,this.getTagsForStencil("mxgraph.office.servers","on premises server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.physical_host;fillColor=#2072B8;",27,52,"","Physical Host",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.physical_host_farm;fillColor=#2072B8;",
+56,49,"","Physical Host Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.reverse_proxy;",41,53,"","Reverse Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","reverse proxy","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.scom;",56,53,"","SCOM",null,null,this.getTagsForStencil("mxgraph.office.servers","scom","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_disaster;",
+46,57,"","Server Disaster",null,null,this.getTagsForStencil("mxgraph.office.servers","server disaster","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;",56,49,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#2072B8;",
+56,49,"","Server Farm (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#DA4026;",56,49,"","Server Farm (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#7FBA42;",56,49,"","Server Farm (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#CCCBCB;",
+56,49,"","Server Farm (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;",27,52,"","Server, Generic",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#2072B8;",27,52,"","Server, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#DA4026;",
+27,52,"","Server, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#7FBA42;",27,52,"","Server, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#CCCBCB;",27,52,"","Server, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;",
+20,39,"","Server, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_side_code;",49,56,"","Server Side Code",null,null,this.getTagsForStencil("mxgraph.office.servers","server side code","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.sharepoint_server;",56,55,"","Sharepoint Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sharepoint server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_back_end_server;",
+54,60,"","Skype for Business Back End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_back_end_server_mirror;",54,60,"","Skype for Business Back End Server Mirror",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business back end server mirror","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_director;",54,55,"","Skype for Business Director",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_director_array;",
+70,60,"","Skype for Business Director Array",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director array","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_edge_server;",54,55,"","Skype for Business Edge Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business edge server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_edge_server_pool;",70,60,"","Skype for Business Edge Server Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_front_end_pool;",
+70,60,"","Skype for Business Front End Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business front end pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_front_end_server;",54,60,"","Skype for Business Front End Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business front end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_mediation_server;",54,60,"","Skype for Business Mediation Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business mediation server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_monitoring_server;",
+54,60,"","Skype for Business Monitoring Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business monitoring server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_persistent_chat_server;",54,58,"","Skype for Business Persistent Chat Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business persistent chat server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_server;",54,55,"","Skype for Business Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.sql_server;",
+43,56,"","SQL Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sql server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.survivable_branch_appliance;",37,59,"","Survivable Branch Appliance",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch appliance","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.survivable_branch_server;",42,58,"","Survivable Branch Server",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.topology_builder;",
+59,59,"","Topology Builder",null,null,this.getTagsForStencil("mxgraph.office.servers","topology builder","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.trusted_application_pool;",59,59,"","Trusted Application Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application pool",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.trusted_application_server;",43,52,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.tunnel_angled;",
+55,35,"","Tunnel Angled",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel angled","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.tunnel_straight;",59,10,"","Tunnel Straight",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel straight","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.universal_security_group;",
+58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.servers","universal security group","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.video_interop_server;",54,60,"","Video Interop Server",null,null,this.getTagsForStencil("mxgraph.office.servers","video interop server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_application_server;",48,55,"","Virtual Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_application_server;fillColor=#2072B8;",
+48,55,"","Virtual Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_database_server;",41,56,"","Virtual Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_database_server;fillColor=#2072B8;",41,56,"","Virtual Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;",
+28,52,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;fillColor=#2072B8;",28,52,"","Virtual Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;",20,37,"","Virtual Server (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_web_server;",
+44,55,"","Virtual Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_web_server;fillColor=#2072B8;",44,55,"","Virtual Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.vociemail_preview_partner;",46,56,"","Vociemail Preview Partner",null,null,this.getTagsForStencil("mxgraph.office.servers","vociemail preview partner","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server;",
+48,57,"","Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_blue;",48,57,"","Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_orange;",
+48,57,"","Web Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_green;",48,57,"","Web Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_ghosted;",
+48,57,"","Web Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.windows_router;",52,59,"","Windows Router",null,null,this.getTagsForStencil("mxgraph.office.servers","windows router","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.windows_server;",
+52,55,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.office.servers","windows server","office server ").join(" "))];this.addPalette("officeServers","Office / Servers",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.3rd_party_service;",
+53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.services","3rd party service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.services","access services","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.business_connectivity_services;",34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.services","business connectivity services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.call_admission_control_service;",
+50,59,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.services","call admission control service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.central_management_service;",51,54,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.services",
+"central management service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.conference_announcement_service;",59,59,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.services","conference announcement service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.device_update_service;",
+50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.services","device update service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.email_service;",58,48,"","Email Service",null,null,this.getTagsForStencil("mxgraph.office.services","email service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.services","excel services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.federation_service;",
+58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.services","federation service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.lync_storage_service;",65,58,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","lync storage service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.lync_web_app_client;",83,51,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.services","lync web app client","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.mobility_service;",
+45,53,"","Mobility Service",null,null,this.getTagsForStencil("mxgraph.office.services","mobility service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.network_file_share_service;",55,53,"","Network File Share Service",null,null,this.getTagsForStencil("mxgraph.office.services","network file share service",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.online_hosted_services;",56,52,"","Online Hosted Services",null,null,this.getTagsForStencil("mxgraph.office.services","online hosted services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.outlook_web_app;",
+83,51,"","Outlook Web App",null,null,this.getTagsForStencil("mxgraph.office.services","outlook web app","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","powerpoint automation services",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.services","push notification service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.registrar_service;",
+56,52,"","Registrar Service",null,null,this.getTagsForStencil("mxgraph.office.services","registrar service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.response_group_service;",58,54,"","Response Group Service",null,null,this.getTagsForStencil("mxgraph.office.services","response group service",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","skype for business storage service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.user_services;",
+59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.services","user services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.verification_service;",57,59,"","Verification Service",null,null,this.getTagsForStencil("mxgraph.office.services","verification service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.services","web services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.word_automation_services;",
+60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","word automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.services","xmpp service","office service ").join(" "))];
+this.addPalette("officeServices","Office / Services",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSitesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.sites",
+"access services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.blog_site;",56,49,"","Blog Site",null,null,this.getTagsForStencil("mxgraph.office.sites","blog site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.business_connectivity_services;",
+34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.sites","business connectivity services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.sites","excel services","office site ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.meeting_workspace_site;",58,50,"","Meeting Workspace Site",null,null,this.getTagsForStencil("mxgraph.office.sites","meeting workspace site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.my_site;",
+58,49,"","My Site",null,null,this.getTagsForStencil("mxgraph.office.sites","my site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","powerpoint automation services","office site ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.publish;",57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.sites","publish","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_collection;",
+52,40,"","Site Collection",null,null,this.getTagsForStencil("mxgraph.office.sites","site collection","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_shared;",56,50,"","Site Shared",null,null,this.getTagsForStencil("mxgraph.office.sites","site shared","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_team;",
+60,49,"","Site, Team",null,null,this.getTagsForStencil("mxgraph.office.sites","site team","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;",53,40,"","Subsite",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#2072B8;",
+53,40,"","Subsite (blue)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#DA4026;",53,40,"","Subsite (orange)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#7FBA42;",
+53,40,"","Subsite (green)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#CCCBCB;",53,40,"","Subsite (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;",
+38,29,"","Subsite (small)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute small","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.upgrade_site;",59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.sites","upgrade site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.website;",
+59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.sites","website","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.website_public;",58,48,"","Website, Public",null,null,this.getTagsForStencil("mxgraph.office.sites","website public","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.wiki_site;",
+59,50,"","Wiki Site",null,null,this.getTagsForStencil("mxgraph.office.sites","wiki_site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.word_automation_services;",60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","word automation services","office site ").join(" "))];
+this.addPalette("officeSites","Office / Sites",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeUsersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.administrator;",58,56,"","Administrator",null,null,this.getTagsForStencil("mxgraph.office.users",
+"administrator","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.approver;",59,55,"","Approver",null,null,this.getTagsForStencil("mxgraph.office.users","approver","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.call_center_agent;",
+46,55,"","Call Center Agent",null,null,this.getTagsForStencil("mxgraph.office.users","call center agent","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.communications;",54,58,"","Communications",null,null,this.getTagsForStencil("mxgraph.office.users","communications","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.conferencing_attendant;",
+53,59,"","Conferencing Attendant",null,null,this.getTagsForStencil("mxgraph.office.users","conferencing attendant","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.users","credentials","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.csv_file;",
+59,43,"","CSV File",null,null,this.getTagsForStencil("mxgraph.office.users","csv comma separated value file","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.distribution_group;",58,59,"","Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","distribution group","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","dynamic distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.mail_user;",
+58,59,"","Mail User",null,null,this.getTagsForStencil("mxgraph.office.users","mail user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.meeting;",59,38,"","Meeting",null,null,this.getTagsForStencil("mxgraph.office.users","meeting","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.mobile_user;",
+59,56,"","Mobile User",null,null,this.getTagsForStencil("mxgraph.office.users","mobile user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.online_user;",54,43,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.users","online user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.on_premises_user;",
+49,59,"","On-Premises User",null,null,this.getTagsForStencil("mxgraph.office.users","on premises user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.outlook_user;",63,55,"","Outlook User",null,null,this.getTagsForStencil("mxgraph.office.users","outlook user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.response_group;",
+58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.users","response group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.users","role group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.skype_commercial_user;",
+59,56,"","Skype Commercial User",null,null,this.getTagsForStencil("mxgraph.office.users","skype commercial user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.skype_for_business_user;",59,56,"","Skype for Business User",null,null,this.getTagsForStencil("mxgraph.office.users","skype for business user","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.tenant_admin;",56,58,"","Tenant Admin",null,null,this.getTagsForStencil("mxgraph.office.users","tenant admin","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.um_enabled_user;",
+58,59,"","UM-Enabled User",null,null,this.getTagsForStencil("mxgraph.office.users","um enabled user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.users","universal security group","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;",46,50,"","User",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#2072B8;",
+46,50,"","User (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#DA4026;",46,50,"","User (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#7FBA42;",
+46,50,"","User (green)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#CCCBCB;",46,50,"","User (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;",
+32,35,"","User (small)",null,null,this.getTagsForStencil("mxgraph.office.users","user small","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;",46,50,"","Users",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#2072B8;",
+46,50,"","Users (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#DA4026;",46,50,"","Users (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#7FBA42;",
+46,50,"","Users (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#CCCBCB;",46,50,"","Users (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;",
+57,43,"","Users, Two",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#2072B8;",57,43,"","Users, Two (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#DA4026;",
+57,43,"","Users, Two (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#7FBA42;",57,43,"","Users, Two (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#CCCBCB;",
+57,43,"","Users, Two (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_accounts;",59,59,"","User Accounts",null,null,this.getTagsForStencil("mxgraph.office.users","user accounts","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_external;",
+59,50,"","User External",null,null,this.getTagsForStencil("mxgraph.office.users","user external","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.users","user services","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_store;",
+50,55,"","User Store",null,null,this.getTagsForStencil("mxgraph.office.users","user store","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.writer;",54,59,"","Writer",null,null,this.getTagsForStencil("mxgraph.office.users","writer","office user ").join(" "))];this.addPalette("officeUsers","Office / Users",
+!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addPidInstrumentsPalette=function(){var a="html=1;align=center;dashed=0;"+mxConstants.STYLE_SHAPE+"=mxgraph.pid2";this.addPaletteFunctions("pidInstruments","Proc. Eng. / Instruments",!1,[this.createVertexTemplateEntry(a+"inst.discInst;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
 "discInst","pid process instrumentation engineering instrument engineering discrete control room").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting=field",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete field").join(" ")),
 this.createVertexTemplateEntry(a+"inst.discInst;mounting=inaccessible",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting=local",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',
 "Discrete Instrument (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.sharedCont;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Shared Control/Display in DCS (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
@@ -6501,139 +6561,143 @@ this.addDataEntry("sysml stereotype note",320,150,"Stereotype Note","rZRNj9owEIZ
 this.createVertexTemplateEntry("shape=rect;html=1;whiteSpace=wrap;align=center;",160,80,"&lt;&lt;stereotypeName&gt;&gt;\n{PropertyName=ValueString;\nBooleanPropertyName}\nNodeName","Stereotype (Node)",null,null,this.getTagsForStencil("","","sysml stereotype node").join(" ")),this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;",400,100,'<p style="margin:0px;margin-top:4px;text-align:center;"><b>NodeName</b><hr/></p><p style="margin:0px;margin-left:10px;text-align:left;">&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString}ElementName<br/>&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString};<br/>BooleanPropertyName<br/>ElementName</p>',
 "Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" ")),this.addDataEntry("sysml stereotype edge",200,180,"Stereotype (Edge)","3VTBboMwDP2a3CmZ2vOgXU+bKlXaPQM3iRYSZEwp+/oFCO2ytVJ32WEHJD8/G/OeQxjPq9MWRa2eXQmG8Q3jOTpHU1SdcjCGpYkuGV+zNE38w9KnG+xiZJNaIFi6pyGdGo7CtDBlNgaqoTldspQvEsazF1HBVNZQb0JZo0Q9hAiFH5QdnKV9YBceK6pMCDulCfa1KAau80p9ThgtrYeFnwToE+EzAAlON6WMqaBjC64Cwt6XdLokFSqC3ESBliq0LUNONBOW59aLMT4I3lz3if8Dn/pvHv2Fbw8/fPOGiWrQZmjU8xU1XiRQ72CyMlAyKpzR7DpbZTt0tXekH7v4+nUYtifUVsalmXMGhI3KV+udIHV1dWDLR0TXeWSdhXhbUEqYFxlYI97AZKJ4l+haW+bOOLyw8yoNHK4dhBHrjxEm50UPU6I1N67FAqIzSQIlUPQ733EYEIwgfYzf/otNe3i5pUYuusQ+AQ=="),
 this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;",300,120,'<p style="margin:0px;margin-top:4px;text-align:center;"><b>&lt;&lt;stereotypeName&gt;&gt;</br>NodeName</b><hr/></p><p style="margin:0px;margin-left:10px;text-align:left;">&lt;&lt;stereotypeName&gt;&gt;<br/>PropertyName=ValueString<br/>MultiPropertyName=ValueString, ValueString<br/>BooleanPropertyName<br/></p>',"Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" "))];
-this.addPalette("sysmlStereotypes","SysML / Stereotypes",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addVeeamPalette=function(){this.addVeeam2DPalette();this.addVeeam3DPalette()};Sidebar.prototype.addVeeam2DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm;",70,70,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_error;",70,78,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_running;",
-70,78,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1frvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_unavailable;",70,78,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_warning;",70,78,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1_click_failover_orchestration;",
-44,44,"","1 Click Failover Orchestration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one click failover orchestration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm;",70,70,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_error;",70,78,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_running;",
-70,78,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_unavailable;",70,78,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_warning;",70,78,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.agent;",
-38,38,"","Agent",null,null,this.getTagsForStencil("mxgraph.veeam.2d","agent","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.alarm;",62,46,"","Alarm",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alarm","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.alert;",
-30,30,"","Alert",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alert","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.assisted_failover_and_failback;",46,46,"","Assisted Failover and Failback",null,null,this.getTagsForStencil("mxgraph.veeam.2d","assisted failover and failback","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_browser;",46,46,"","Backup Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_from_storage_snapshots;",
-46,46,"","Backup from Storage Snapshots",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup from storage snapshots","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository;",52,48,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository_2;",58,50,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.built_in_wan_acceleration;",
-46,46,"","Built-in WAN Acceleration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","built in wan acceleration wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cd;",46,46,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cd compact disc","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cloud;",66,46,"","Cloud",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cloud_gateway;",
-46,46,"","Cloud Gateway",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud gateway","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.database;",58,50,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.2d","database db","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore;",44,44,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_snapshot;",
-46,12,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_volume;",46,12,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore volume","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.data_mover;",38,38,"","Data Mover",null,null,this.getTagsForStencil("mxgraph.veeam.2d","data mover","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.disaster_recovery;",
-46,46,"","Disaster Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","disaster recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.download;",46,46,"","Download",null,null,this.getTagsForStencil("mxgraph.veeam.2d","download","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.emc_data_domain_boost;",46,46,"","EMC Data Domain Boost",null,null,this.getTagsForStencil("mxgraph.veeam.2d","emc data domain boost","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.encryption_object;",
-46,46,"","Encryption Object",null,null,this.getTagsForStencil("mxgraph.veeam.2d","encryption object","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.end_to_end_encryption;",46,46,"","End to end Encryption",null,null,this.getTagsForStencil("mxgraph.veeam.2d","end to end encryption","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.esx_esxi;",30,46,"","ESX/ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.2d","esx esxi","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.exagrid;",
-46,46,"","ExaGrid",null,null,this.getTagsForStencil("mxgraph.veeam.2d","exagrid","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot;",46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_locked;",54,50,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_running;",
-56,50,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.file;",34,46,"","File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.file_system_browser;",46,46,"","File System Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file system browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.folder;",
-48,46,"","Folder",null,null,this.getTagsForStencil("mxgraph.veeam.2d","folder","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;fillColor=#999A98;",34,24,"","Forward Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;",34,24,"","Forward Incremental Backup - Increment (blue)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.free_datastore;",46,46,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","free datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_datastore;",
-46,46,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#999A98;",26,42,"","Full Veeam Backup (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#24B14B;",26,42,"","Full Veeam Backup (green)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#EF8F21;",
-26,42,"","Full Veeam Backup (orange)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#FBB715;",26,42,"","Full Veeam Backup (yellow)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.group;",40,46,"","Group",null,null,this.getTagsForStencil("mxgraph.veeam.2d","group","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hard_drive;",
-38,46,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hard drive","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hp_storeonce;",46,46,"","HP StoreOnce",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hp storeonce","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_host;",124,120,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_vmware_host;",
-124,120,"","VMware/Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.letter;",46,36,"","Letter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","letter","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.license;",46,46,"","License",null,null,this.getTagsForStencil("mxgraph.veeam.2d","license","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.lost_space;",
-46,46,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lost space","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.lun;",58,22,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lun","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.medium_datastore;",
-46,46,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","medium datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.monitoring_console;",46,46,"","Monitoring Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","monitoring console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.native_tape_support;",46,46,"","Native Tape Support",null,null,this.getTagsForStencil("mxgraph.veeam.2d","native tape support","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.network_card;",
-46,32,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.2d","network card","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.on_demand_sandbox;",46,46,"","On Demand Sandbox",null,null,this.getTagsForStencil("mxgraph.veeam.2d","on demand sandbox","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.physical_storage;",76,26,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","physical storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.powershell_extension;",
-46,46,"","PowerShell Extension",null,null,this.getTagsForStencil("mxgraph.veeam.2d","powershell extension","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.private_key;",56,52,"","Private Key",null,null,this.getTagsForStencil("mxgraph.veeam.2d","private key","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.privilege;",50,48,"","Privilege",null,null,this.getTagsForStencil("mxgraph.veeam.2d","privilege","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.proxy;",
-46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy appliance","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.quick_migration;",46,46,"","Quick Migration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","quick migration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.remote_site;",
-42,44,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote site","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.remote_storage;",46,46,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote storage","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.replication_from_a_backup;",46,46,"","Replication from a Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","replication from a backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.report;",
-34,46,"","Report",null,null,this.getTagsForStencil("mxgraph.veeam.2d","report","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.resource_pool;",46,46,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.2d","resource pool","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.restful_apis;",46,46,"","RESTful APIs",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restful apis api","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.restore_data_from_the_vm_backup;",
-46,46,"","Restore Data from the VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restore data from the vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#999A98;",34,24,"","Reversed Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#6E5CA7;",34,24,"","Reversed Incremental Backup - Increment (purple)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.role;",34,46,"","Role",null,null,this.getTagsForStencil("mxgraph.veeam.2d","role","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.scheduled_backups;",
-46,46,"","Scheduled Backups",null,null,this.getTagsForStencil("mxgraph.veeam.2d","Scheduled Backups","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.search;",46,46,"","Search",null,null,this.getTagsForStencil("mxgraph.veeam.2d","search","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.self_service_recovery;",46,46,"","Self-Service Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","self service recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service;",
-46,46,"","Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service_console;",46,46,"","Service Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service_vnic;",60,54,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.sure_backup;",
-46,46,"","SureBackup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.sure_replica;",46,46,"","SureReplica",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure replica","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.switch;",74,12,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape;",
-60,32,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_checked;",70,42,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape checked","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_device;",52,52,"","Tape Device",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape device","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_ejecting;",
-70,42,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape ejecting","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_library;",40,46,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape library","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_licensed;",68,38,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape licensed","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_recording;",
-70,42,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape recording","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_server;",74,72,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape server","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.transport_service;",38,38,"","Transport Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","transport service","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.user;",
-26,46,"","User",null,null,this.getTagsForStencil("mxgraph.veeam.2d","user","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.u_air;",46,46,"","U-AIR",null,null,this.getTagsForStencil("mxgraph.veeam.2d","air","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vapp;",
-48,48,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vapp_started;",60,54,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp started","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeamzip;",46,46,"","VeeamZIP",null,null,this.getTagsForStencil("mxgraph.veeam.2d","veeamzip zip","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_availability_suite;",
-46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.2d","availability suite","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_and_replication_server;",74,72,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"backup and replication server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_enterprise_manager_server;",74,72,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup enterprise manager server","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_search_server;",74,72,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup search server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_shell;",
-46,46,"","Veeam Backup Shell",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup shell","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_cloud_connect;",46,46,"","Veeam Cloud Connect",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud connect","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer;",46,46,"","Veeam Explorer",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_active_directory;",
-46,46,"","Veeam Explorer for Active Directory",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for active directory","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_exchange;",46,46,"","Veeam Explorer for Exchange",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"explorer for exchange","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sharepoint;",46,46,"","Veeam Explorer for SharePoint",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sharepoint","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sql;",
-46,46,"","Veeam Explorer for SQL",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sql","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_logo;fillColor=#232020;",144,38,"","Veeam Logo",null,null,this.getTagsForStencil("mxgraph.veeam.2d","logo","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one business view","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_monitor;",
-46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one monitor","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one reporter","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_lab;",
-46,46,"","Virtual Lab",null,null,this.getTagsForStencil("mxgraph.veeam.2d","virtual lab","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_machine;",46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.2d","","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_switch;",46,46,"","Virtual Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vmware_host;",
-124,120,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_backup;",50,46,"","VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_failed;",56,54,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm failed","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_full_backup;",
-38,52,"","VM Image Full Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image full backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_incremental_backup;",38,52,"","VM Image Incremental Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image incremental backup",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_linux;",46,84,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm linux","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_locked;",
-56,52,"","VM Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_no_network;",54,52,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm no network","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_problem;",56,52,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm problem","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_running;",
-56,54,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_saved_state;",56,54,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm saved state","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_windows;",46,84,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm windows","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vnic;",
-46,46,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vsb_file;",34,46,"",".vsb File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vsb file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.wan_accelerator;",
-46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.2d","wan accelerator wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.web_console;",46,46,"","Web Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.web_ui;",46,46,"","Web UI",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web ui user interface","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.workstation;",
-68,46,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.2d","workstation","veeam 2d two dimension vmware virtual machine ").join(" "))];this.addPalette("veeam2D","Veeam / 2D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addVeeam3DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm;",
-68,62,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_error;",68,62,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_running;",
-68,62,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_unavailable;",68,62,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_warning;",68,62,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm;",
-68,62,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_error;",68,62,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_running;",
-68,62,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_unavailable;",68,62,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_warning;",68,62,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository;",
-62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository_2;",62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.cd;",68,26,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.3d","cd","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.database;",58,62,"","Database",null,
-null,this.getTagsForStencil("mxgraph.veeam.3d","database","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore;",44,60,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_snapshot;",
-54,34,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_volume;",54,34,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore volume","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.esx_esxi;",38,52,"","ESX ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.3d","esx esxi","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot;",
-46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_locked;",56,46,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot locked",
-"veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_running;",58,46,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.free_datastore;",
-44,60,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","free datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.full_datastore;",44,60,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","full datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.hard_drive;fillColor=#637D8A;gradientColor=#324752;strokeColor=none;",
-62,28,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hard drive","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.hyper_v_host;",110,98,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hyper-v host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.lost_space;",
-44,60,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lost space","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.lun;",72,40,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lun","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.medium_datastore;",
-44,60,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","medium datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.network_card;",38,40,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.3d","network card","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.physical_storage;",
-108,60,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","physical_storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.proxy;",46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.proxy_appliance;",
-46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy appliance","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.remote_site;",46,60,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote site","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.remote_storage;",
-52,62,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.resource_pool;",56,32,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.3d","resource pool","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.service_vnic;",
-72,64,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","service vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.switch;",110,58,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.3d","switch","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape;",
-58,58,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_checked;",70,58,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape checked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_ejecting;",
-70,58,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape ejecting","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_library;",62,74,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape library","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_licensed;",
-70,58,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape licensed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_recording;",70,58,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape recording","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_server;",
-46,46,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vapp;",92,62,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vapp_started;",
-92,62,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp started","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam availability suite","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_and_replication_server;",46,46,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup and replication server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server;",
-46,46,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup enterprise manager server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server_2d;",40,40,"","Veeam Backup Enterprise Manager Server 2D",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
-"veeam backup enterprise manager derver 2d two dimensional","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_search_server;",46,46,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup search server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_business_view;",
-46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one business view","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_monitor;",46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one monitor","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one reporter","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_server;",
-46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.virtual_machine;",46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.3d","virtual machine","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vmware_host;",110,98,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vmware host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_failed;",
-56,46,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm failed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_linux;",46,60,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm linux","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_no_network;",
-58,46,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm no network","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_problem;",56,46,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm problem","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_running;",
-56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",
-46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",
-46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D",
-"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
+this.addPalette("sysmlStereotypes","SysML / Stereotypes",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addVeeamPalette=function(){this.addVeeam2DPalette();this.addVeeam3DPalette()};Sidebar.prototype.addVeeam2DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm;",70,70,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_error;",70,78,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_running;",
+70,78,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1frvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_unavailable;",70,78,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_warning;",70,78,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1_click_failover_orchestration;",
+44,44,"","1 Click Failover Orchestration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one click failover orchestration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm;",70,70,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_error;",70,78,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_running;",
+70,78,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_unavailable;",70,78,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_warning;",70,78,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.agent;",
+38,38,"","Agent",null,null,this.getTagsForStencil("mxgraph.veeam.2d","agent","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.alarm;",62,46,"","Alarm",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alarm","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.alert;",
+30,30,"","Alert",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alert","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.assisted_failover_and_failback;",46,46,"","Assisted Failover and Failback",null,null,this.getTagsForStencil("mxgraph.veeam.2d","assisted failover and failback",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_browser;",46,46,"","Backup Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_from_storage_snapshots;",
+46,46,"","Backup from Storage Snapshots",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup from storage snapshots","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository;",52,48,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository_2;",58,50,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.built_in_wan_acceleration;",
+46,46,"","Built-in WAN Acceleration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","built in wan acceleration wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cd;",46,46,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cd compact disc",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cloud;",66,46,"","Cloud",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cloud_gateway;",
+46,46,"","Cloud Gateway",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud gateway","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.database;",58,50,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.2d","database db","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore;",44,44,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_snapshot;",
+46,12,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_volume;",46,12,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore volume","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.data_mover;",38,38,"","Data Mover",null,null,this.getTagsForStencil("mxgraph.veeam.2d","data mover","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.disaster_recovery;",
+46,46,"","Disaster Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","disaster recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.download;",46,46,"","Download",null,null,this.getTagsForStencil("mxgraph.veeam.2d","download","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.emc_data_domain_boost;",46,46,"","EMC Data Domain Boost",null,null,this.getTagsForStencil("mxgraph.veeam.2d","emc data domain boost","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.encryption_object;",
+46,46,"","Encryption Object",null,null,this.getTagsForStencil("mxgraph.veeam.2d","encryption object","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.end_to_end_encryption;",46,46,"","End to end Encryption",null,null,this.getTagsForStencil("mxgraph.veeam.2d","end to end encryption",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.esx_esxi;",30,46,"","ESX/ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.2d","esx esxi","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.exagrid;",
+46,46,"","ExaGrid",null,null,this.getTagsForStencil("mxgraph.veeam.2d","exagrid","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot;",46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_locked;",54,50,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot locked","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_running;",56,50,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.file;",
+34,46,"","File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.file_system_browser;",46,46,"","File System Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file system browser","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.folder;",48,46,"","Folder",null,null,this.getTagsForStencil("mxgraph.veeam.2d","folder","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;fillColor=#999A98;",
+34,24,"","Forward Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;",34,24,"","Forward Incremental Backup - Increment (blue)",
+null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.free_datastore;",46,46,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","free datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_datastore;",46,46,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#999A98;",
+26,42,"","Full Veeam Backup (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#24B14B;",26,42,"","Full Veeam Backup (green)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#EF8F21;",26,42,"","Full Veeam Backup (orange)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#FBB715;",
+26,42,"","Full Veeam Backup (yellow)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.group;",40,46,"","Group",null,null,this.getTagsForStencil("mxgraph.veeam.2d","group","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hard_drive;",38,46,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hard drive","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hp_storeonce;",
+46,46,"","HP StoreOnce",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hp storeonce","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_host;",124,120,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper host","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_vmware_host;",124,120,"","VMware/Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.letter;",
+46,36,"","Letter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","letter","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.license;",46,46,"","License",null,null,this.getTagsForStencil("mxgraph.veeam.2d","license","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.lost_space;",46,46,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lost space","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.lun;",
+58,22,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lun","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.medium_datastore;",46,46,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","medium datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.monitoring_console;",46,46,"","Monitoring Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","monitoring console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.native_tape_support;",
+46,46,"","Native Tape Support",null,null,this.getTagsForStencil("mxgraph.veeam.2d","native tape support","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.network_card;",46,32,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.2d","network card","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.on_demand_sandbox;",46,46,"","On Demand Sandbox",null,null,this.getTagsForStencil("mxgraph.veeam.2d","on demand sandbox","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.physical_storage;",
+76,26,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","physical storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.powershell_extension;",46,46,"","PowerShell Extension",null,null,this.getTagsForStencil("mxgraph.veeam.2d","powershell extension",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.private_key;",56,52,"","Private Key",null,null,this.getTagsForStencil("mxgraph.veeam.2d","private key","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.privilege;",
+50,48,"","Privilege",null,null,this.getTagsForStencil("mxgraph.veeam.2d","privilege","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.proxy;",46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy appliance","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.quick_migration;",
+46,46,"","Quick Migration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","quick migration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.remote_site;",42,44,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote site","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.remote_storage;",46,46,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.replication_from_a_backup;",
+46,46,"","Replication from a Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","replication from a backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.report;",34,46,"","Report",null,null,this.getTagsForStencil("mxgraph.veeam.2d","report","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.resource_pool;",46,46,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.2d","resource pool","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.restful_apis;",
+46,46,"","RESTful APIs",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restful apis api","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.restore_data_from_the_vm_backup;",46,46,"","Restore Data from the VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restore data from the vm backup",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#999A98;",34,24,"","Reversed Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#6E5CA7;",34,24,"","Reversed Incremental Backup - Increment (purple)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.role;",
+34,46,"","Role",null,null,this.getTagsForStencil("mxgraph.veeam.2d","role","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.scheduled_backups;",46,46,"","Scheduled Backups",null,null,this.getTagsForStencil("mxgraph.veeam.2d","Scheduled Backups","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.search;",46,46,"","Search",null,null,this.getTagsForStencil("mxgraph.veeam.2d","search","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.self_service_recovery;",
+46,46,"","Self-Service Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","self service recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service;",46,46,"","Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service_console;",46,46,"","Service Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service_vnic;",
+60,54,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.sure_backup;",46,46,"","SureBackup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.sure_replica;",46,46,"","SureReplica",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure replica","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.switch;",
+74,12,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape;",60,32,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_checked;",
+70,42,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape checked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_device;",52,52,"","Tape Device",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape device","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_ejecting;",70,42,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape ejecting","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_library;",
+40,46,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape library","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_licensed;",68,38,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape licensed","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_recording;",70,42,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape recording","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_server;",
+74,72,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.transport_service;",38,38,"","Transport Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","transport service","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.user;",26,46,"","User",null,null,this.getTagsForStencil("mxgraph.veeam.2d","user","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.u_air;",
+46,46,"","U-AIR",null,null,this.getTagsForStencil("mxgraph.veeam.2d","air","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vapp;",48,48,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vapp_started;",
+60,54,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp started","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeamzip;",46,46,"","VeeamZIP",null,null,this.getTagsForStencil("mxgraph.veeam.2d","veeamzip zip","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.2d","availability suite","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_and_replication_server;",
+74,72,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup and replication server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_enterprise_manager_server;",74,72,"","Veeam Backup Enterprise Manager Server",null,
+null,this.getTagsForStencil("mxgraph.veeam.2d","backup enterprise manager server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_search_server;",74,72,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup search server","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_shell;",46,46,"","Veeam Backup Shell",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup shell","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_cloud_connect;",
+46,46,"","Veeam Cloud Connect",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud connect","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer;",46,46,"","Veeam Explorer",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_active_directory;",46,46,"","Veeam Explorer for Active Directory",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for active directory","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_exchange;",
+46,46,"","Veeam Explorer for Exchange",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for exchange","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sharepoint;",46,46,"","Veeam Explorer for SharePoint",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
+"explorer for sharepoint","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sql;",46,46,"","Veeam Explorer for SQL",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sql","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_logo;fillColor=#232020;",
+144,38,"","Veeam Logo",null,null,this.getTagsForStencil("mxgraph.veeam.2d","logo","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one business view","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_monitor;",46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one monitor","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_reporter;",
+46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one reporter","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one server","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_lab;",46,46,"","Virtual Lab",null,null,this.getTagsForStencil("mxgraph.veeam.2d","virtual lab","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_machine;",
+46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.2d","","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_switch;",46,46,"","Virtual Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vmware_host;",124,120,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_backup;",
+50,46,"","VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_failed;",56,54,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm failed","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_full_backup;",38,52,"","VM Image Full Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image full backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_incremental_backup;",
+38,52,"","VM Image Incremental Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image incremental backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_linux;",46,84,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm linux","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_locked;",56,52,"","VM Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_no_network;",
+54,52,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm no network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_problem;",56,52,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm problem","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_running;",56,54,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_saved_state;",
+56,54,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm saved state","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_windows;",46,84,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm windows","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vnic;",46,46,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vsb_file;",
+34,46,"",".vsb File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vsb file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.wan_accelerator;",46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.2d","wan accelerator wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.web_console;",46,46,"","Web Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.web_ui;",
+46,46,"","Web UI",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web ui user interface","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.workstation;",68,46,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.2d","workstation","veeam 2d two dimension vmware virtual machine ").join(" "))];
+this.addPalette("veeam2D","Veeam / 2D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addVeeam3DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm;",68,62,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_error;",68,62,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_running;",
+68,62,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_unavailable;",68,62,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_warning;",68,62,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm;",
+68,62,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_error;",68,62,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_running;",
+68,62,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_unavailable;",68,62,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_warning;",68,62,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository;",
+62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository_2;",62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.cd;",68,26,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.3d","cd","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.database;",
+58,62,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.3d","database","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore;",44,60,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_snapshot;",
+54,34,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_volume;",54,34,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore volume","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.esx_esxi;",38,52,"","ESX ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.3d","esx esxi","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot;",
+46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_locked;",56,46,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
+"failover protective snapshot locked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_running;",58,46,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot running","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.free_datastore;",44,60,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","free datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.full_datastore;",
+44,60,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","full datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.hard_drive;fillColor=#637D8A;gradientColor=#324752;strokeColor=none;",62,28,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hard drive","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.hyper_v_host;",110,98,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hyper-v host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.lost_space;",
+44,60,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lost space","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.lun;",72,40,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lun","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.medium_datastore;",
+44,60,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","medium datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.network_card;",38,40,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.3d","network card","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.physical_storage;",108,60,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","physical_storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.proxy;",
+46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy appliance","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.remote_site;",
+46,60,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote site","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.remote_storage;",52,62,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote storage","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.resource_pool;",56,32,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.3d","resource pool","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.service_vnic;",
+72,64,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","service vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.switch;",110,58,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.3d","switch","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape;",
+58,58,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_checked;",70,58,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape checked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_ejecting;",
+70,58,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape ejecting","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_library;",62,74,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape library","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_licensed;",70,58,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape licensed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_recording;",
+70,58,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape recording","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_server;",46,46,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape server","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vapp;",92,62,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vapp_started;",
+92,62,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp started","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam availability suite","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_and_replication_server;",46,46,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup and replication server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server;",
+46,46,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup enterprise manager server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server_2d;",40,40,"","Veeam Backup Enterprise Manager Server 2D",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
+"veeam backup enterprise manager derver 2d two dimensional","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_search_server;",46,46,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup search server","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one business view","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_monitor;",
+46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one monitor","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one reporter","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.virtual_machine;",
+46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.3d","virtual machine","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vmware_host;",110,98,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vmware host","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_failed;",56,46,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm failed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_linux;",
+46,60,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm linux","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_no_network;",58,46,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm no network","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_problem;",
+56,46,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm problem","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_running;",56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",
+58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",
+62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",
+76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D","Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
 102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons","adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),
 this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",
 null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
@@ -6783,261 +6847,261 @@ DrawioFile.prototype.autosave=function(a,b,c,d){null==this.lastAutosave&&(this.l
 mxUtils.bind(this,function(a){null!=d&&d(a)}))}else null!=c&&c(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
 DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var c=a.lastIndexOf("."),d=0<c?a.substring(c):"",c=b.lastIndexOf(".");return d===(0<c?b.substring(c):"")}return a==b};
 DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,b,c,d){DrawioFile.call(this,a,b);this.title=c;this.mode=d?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,c){this.saveAs(this.title,b,c)};LocalFile.prototype.saveAs=function(a,b,c){this.saveFile(a,!1,b,c)};
-LocalFile.prototype.saveFile=function(a,b,c,d){this.title=a;this.updateFileData();b=this.getData();var e=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),f=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,e?"image/png":"text/xml",e);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+
-(e?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=c&&c()});e?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){f(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):f(b)};LocalFile.prototype.rename=function(a,b,c){this.title=a;this.descriptorChanged();null!=b&&b()};
+LocalFile.prototype.saveFile=function(a,b,c,d){this.title=a;this.updateFileData();b=this.getData();var e=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),g=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,e?"image/png":"text/xml",e);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+
+(e?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=c&&c()});e?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){g(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):g(b)};LocalFile.prototype.rename=function(a,b,c){this.title=a;this.descriptorChanged();null!=b&&b()};
 LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,b){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,b,c){LocalFile.call(this,a,b,c)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,b,c){this.saveFile(a,!1,b,c)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,b,c){DrawioFile.call(this,a,b);this.title=c};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
 StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,b,c){this.saveAs(this.getTitle(),b,c)};StorageFile.prototype.saveAs=function(a,b,c){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,b,c)};
-StorageFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable()){var e=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=c&&c()}))}catch(f){null!=d&&d(f)}});this.isRenamable()&&"."==a.charAt(0)&&null!=d?d({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(b){this.isRenamable()&&this.getTitle()!=a&&null!=b?this.ui.confirm(mxResources.get("replaceIt",
-[a]),e,d):e()}))}else null!=c&&c()};StorageFile.prototype.rename=function(a,b,c){var d=this.getTitle();d!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(e){var f=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(d,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(d,b)}),c)});null!=e?this.ui.confirm(mxResources.get("replaceIt",[a]),f,c):f()})):b()};
+StorageFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable()){var e=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=c&&c()}))}catch(g){null!=d&&d(g)}});this.isRenamable()&&"."==a.charAt(0)&&null!=d?d({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(b){this.isRenamable()&&this.getTitle()!=a&&null!=b?this.ui.confirm(mxResources.get("replaceIt",
+[a]),e,d):e()}))}else null!=c&&c()};StorageFile.prototype.rename=function(a,b,c){var d=this.getTitle();d!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(e){var g=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(d,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(d,b)}),c)});null!=e?this.ui.confirm(mxResources.get("replaceIt",[a]),g,c):g()})):b()};
 StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,b,c){StorageFile.call(this,a,b,c)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,b,c){this.saveFile(a,!1,b,c)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
-StorageLibrary.prototype.isRenamable=function(a,b,c){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,c){StorageFile.call(this,a,b,c);a=c;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,c){return!1};UrlLibrary.prototype.saveAs=function(a,b,c){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,c){function d(d,e,f,u,w,t){function q(){mxEvent.addListener(p,"click",null!=t?t:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,g.checked);b()})):(a.setMode(f,g.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var p=document.createElement("a");p.style.overflow="hidden";p.style.display=
-mxClient.IS_QUIRKS?"inline":"inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.padding="8px 10px 12px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace="nowrap";p.setAttribute("title",e);mxClient.IS_QUIRKS&&(p.style.cssFloat="left",p.style.zoom="1");var y=document.createElement("div");y.style.textOverflow="ellipsis";y.style.overflow="hidden";if(null!=d){var v=document.createElement("img");
-v.setAttribute("src",d);v.setAttribute("border","0");v.setAttribute("align","absmiddle");v.style.width="60px";v.style.height="60px";v.style.paddingBottom="6px";p.appendChild(v)}else y.style.paddingTop="5px",y.style.whiteSpace="normal",mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(y.style.paddingTop="0px",y.style.marginTop="-2px");p.appendChild(y);mxUtils.write(y,e);if(null!=w)for(d=0;d<w.length;d++)mxUtils.br(y),mxUtils.write(y,w[d]);if(null!=u&&null==a[u]){v.style.visibility=
-"hidden";mxUtils.setOpacity(y,10);var z=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});z.spin(p);var h=window.setTimeout(function(){null==a[u]&&(z.stop(),p.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[u]&&(window.clearTimeout(h),mxUtils.setOpacity(y,100),v.style.visibility="",z.stop(),q(),"drive"==u&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else q();
-m.appendChild(p);++k>=c&&(mxUtils.br(m),k=0)}c=null!=c?c:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var f=a.addLanguageMenu(e,!0);null!=f&&(f.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){f=document.createElement("a");f.setAttribute("href","https://about.draw.io/support/");f.setAttribute("title",mxResources.get("help"));f.setAttribute("target","_blank");f.style.position=
-"absolute";f.style.textDecoration="none";f.style.cursor="pointer";f.style.fontSize="12px";f.style.bottom="28px";f.style.left="26px";f.style.color="gray";var h=document.createElement("img");h.setAttribute("border","0");h.setAttribute("valign","bottom");h.setAttribute("src",Editor.helpImage);h.style.marginRight="2px";f.appendChild(h);mxUtils.write(f,mxResources.get("help"));e.appendChild(f)}var l=document.createElement("div");l.style.position="absolute";l.style.cursor="pointer";l.style.fontSize="12px";
+StorageLibrary.prototype.isRenamable=function(a,b,c){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,c){StorageFile.call(this,a,b,c);a=c;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,c){return!1};UrlLibrary.prototype.saveAs=function(a,b,c){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,c){function d(d,e,g,t,y,u){function q(){mxEvent.addListener(v,"click",null!=u?u:function(){g!=App.MODE_GOOGLE||a.isDriveDomain()?g==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(g,f.checked);b()})):(a.setMode(g,f.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var v=document.createElement("a");v.style.overflow="hidden";v.style.display=
+mxClient.IS_QUIRKS?"inline":"inline-block";v.className="geBaseButton";v.style.boxSizing="border-box";v.style.fontSize="11px";v.style.position="relative";v.style.margin="4px";v.style.padding="8px 10px 12px 10px";v.style.width="88px";v.style.height="100px";v.style.whiteSpace="nowrap";v.setAttribute("title",e);mxClient.IS_QUIRKS&&(v.style.cssFloat="left",v.style.zoom="1");var w=document.createElement("div");w.style.textOverflow="ellipsis";w.style.overflow="hidden";if(null!=d){var p=document.createElement("img");
+p.setAttribute("src",d);p.setAttribute("border","0");p.setAttribute("align","absmiddle");p.style.width="60px";p.style.height="60px";p.style.paddingBottom="6px";v.appendChild(p)}else w.style.paddingTop="5px",w.style.whiteSpace="normal",mxClient.IS_IOS?(v.style.padding="0px 10px 20px 10px",v.style.top="6px"):mxClient.IS_FF&&(w.style.paddingTop="0px",w.style.marginTop="-2px");v.appendChild(w);mxUtils.write(w,e);if(null!=y)for(d=0;d<y.length;d++)mxUtils.br(w),mxUtils.write(w,y[d]);if(null!=t&&null==a[t]){p.style.visibility=
+"hidden";mxUtils.setOpacity(w,10);var h=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});h.spin(v);var l=window.setTimeout(function(){null==a[t]&&(h.stop(),v.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[t]&&(window.clearTimeout(l),mxUtils.setOpacity(w,100),p.style.visibility="",h.stop(),q(),"drive"==t&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else q();
+m.appendChild(v);++k>=c&&(mxUtils.br(m),k=0)}c=null!=c?c:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title",mxResources.get("help"));g.setAttribute("target","_blank");g.style.position=
+"absolute";g.style.textDecoration="none";g.style.cursor="pointer";g.style.fontSize="12px";g.style.bottom="28px";g.style.left="26px";g.style.color="gray";var h=document.createElement("img");h.setAttribute("border","0");h.setAttribute("valign","bottom");h.setAttribute("src",Editor.helpImage);h.style.marginRight="2px";g.appendChild(h);mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var l=document.createElement("div");l.style.position="absolute";l.style.cursor="pointer";l.style.fontSize="12px";
 l.style.bottom="28px";l.style.color="gray";mxUtils.write(l,mxResources.get("decideLater"));a.isOfflineApp()?l.style.right="20px":(mxUtils.setPrefixedStyle(l.style,"transform","translate(-50%,0)"),l.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)l.style.marginLeft=-Math.round(l.clientWidth/2)+"px"};e.appendChild(l);mxEvent.addListener(l,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null,
-!0);Editor.useLocalStorage=b});var m=document.createElement("div");mxClient.IS_QUIRKS&&(m.style.whiteSpace="nowrap",m.style.cssFloat="left");m.style.border="1px solid #d3d3d3";m.style.borderWidth="1px 0px 1px 0px";m.style.padding="12px 0px 12px 0px";var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;var k=0,n=document.createElement("p"),f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.paddingTop=
-"4px";f.style.paddingBottom="16px";f.style.margin="0px";f.style.color="gray";mxUtils.write(f,mxResources.get("saveDiagramsTo")+":");e.appendChild(f);"function"===typeof window.DriveClient&&d(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&d(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||d(IMAGE_PATH+"/osa_drive-harddisk.png",
-mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||d(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);e.appendChild(m);f=document.createElement("p");f.style.marginTop="12px";f.style.marginBottom="6px";f.appendChild(g);h=document.createElement("span");h.style.color="gray";h.style.fontSize="12px";mxUtils.write(h," "+mxResources.get("rememberThisSetting"));f.appendChild(h);mxUtils.br(f);var q=a.getRecent();if(null!=q&&
-0<q.length){var t=document.createElement("select");t.style.marginTop="8px";t.style.width="140px";var p=document.createElement("option");p.setAttribute("value","");p.setAttribute("selected","selected");p.style.textAlign="center";mxUtils.write(p,mxResources.get("openRecent")+"...");t.appendChild(p);for(p=0;p<q.length;p++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c,
-a.title+" ("+mxResources.get(b)+")");t.appendChild(c)})(q[p]);f.appendChild(t);mxEvent.addListener(t,"change",function(b){""!=t.value&&a.loadFile(t.value)})}else f.style.marginTop="20px",m.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(q=document.createElement("div"),q.style.cursor="pointer",q.style.padding="18px 0px 6px 0px",q.style.fontSize="12px",q.style.color="gray",mxUtils.write(q,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
-", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(q,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),f.appendChild(q),m.style.paddingBottom="4px");m.appendChild(f);mxEvent.addListener(h,"click",function(a){g.checked=!g.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
+!0);Editor.useLocalStorage=b});var m=document.createElement("div");mxClient.IS_QUIRKS&&(m.style.whiteSpace="nowrap",m.style.cssFloat="left");m.style.border="1px solid #d3d3d3";m.style.borderWidth="1px 0px 1px 0px";m.style.padding="12px 0px 12px 0px";var f=document.createElement("input");f.setAttribute("type","checkbox");f.setAttribute("checked","checked");f.defaultChecked=!0;var k=0,n=document.createElement("p"),g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.paddingTop=
+"4px";g.style.paddingBottom="16px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,mxResources.get("saveDiagramsTo")+":");e.appendChild(g);"function"===typeof window.DriveClient&&d(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&d(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||d(IMAGE_PATH+"/osa_drive-harddisk.png",
+mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||d(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);e.appendChild(m);g=document.createElement("p");g.style.marginTop="12px";g.style.marginBottom="6px";g.appendChild(f);h=document.createElement("span");h.style.color="gray";h.style.fontSize="12px";mxUtils.write(h," "+mxResources.get("rememberThisSetting"));g.appendChild(h);mxUtils.br(g);var q=a.getRecent();if(null!=q&&
+0<q.length){var u=document.createElement("select");u.style.marginTop="8px";u.style.width="140px";var p=document.createElement("option");p.setAttribute("value","");p.setAttribute("selected","selected");p.style.textAlign="center";mxUtils.write(p,mxResources.get("openRecent")+"...");u.appendChild(p);for(p=0;p<q.length;p++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c,
+a.title+" ("+mxResources.get(b)+")");u.appendChild(c)})(q[p]);g.appendChild(u);mxEvent.addListener(u,"change",function(b){""!=u.value&&a.loadFile(u.value)})}else g.style.marginTop="20px",m.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(q=document.createElement("div"),q.style.cursor="pointer",q.style.padding="18px 0px 6px 0px",q.style.fontSize="12px",q.style.color="gray",mxUtils.write(q,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
+", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(q,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),g.appendChild(q),m.style.paddingBottom="4px");m.appendChild(g);mxEvent.addListener(h,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
 document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==a.drive&&(n.style.padding="8px",n.style.fontSize="9pt",n.style.marginTop="-14px",n.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",e.appendChild(n))},5E3);this.container=
 e},SplashDialog=function(a){var b=document.createElement("div");b.style.textAlign="center";a.addLanguageMenu(b,!0);var c=null,c=a.getServiceCount();if(!a.isOffline()&&1<c){c=document.createElement("a");c.setAttribute("href","https://about.draw.io/support/");c.setAttribute("title",mxResources.get("help"));c.setAttribute("target","_blank");c.style.position="absolute";c.style.fontSize="12px";c.style.textDecoration="none";c.style.cursor="pointer";c.style.bottom="22px";c.style.left="26px";c.style.color=
 "gray";var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);d.style.marginRight="2px";c.appendChild(d);mxUtils.write(c,mxResources.get("help"));b.appendChild(c)}c=document.createElement("p");c.style.fontSize="16pt";c.style.padding="0px";c.style.paddingTop="2px";c.style.margin="0px";c.style.color="gray";d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("align","absmiddle");d.style.width="40px";
 d.style.height="40px";d.style.marginRight="12px";d.style.paddingBottom="4px";var e="";a.mode==App.MODE_GOOGLE?(d.src=IMAGE_PATH+"/google-drive-logo.svg",e=mxResources.get("googleDrive")):a.mode==App.MODE_DROPBOX?(d.src=IMAGE_PATH+"/dropbox-logo.svg",e=mxResources.get("dropbox")):a.mode==App.MODE_ONEDRIVE?(d.src=IMAGE_PATH+"/onedrive-logo.svg",e=mxResources.get("oneDrive")):a.mode==App.MODE_GITHUB?(d.src=IMAGE_PATH+"/github-logo.svg",e=mxResources.get("github")):a.mode==App.MODE_TRELLO?(d.src=IMAGE_PATH+
-"/trello-logo.svg",e=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(d.src=IMAGE_PATH+"/osa_database.png",e=mxResources.get("browser")):(d.src=IMAGE_PATH+"/osa_drive-harddisk.png",e=mxResources.get("device"));var f=document.createElement("div");f.style.margin="4px 0px 0px 0px";var h=document.createElement("button");h.className="geBigButton";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(f.style.padding="42px 0px 56px 0px",h.style.marginBottom="12px"):
-(c.appendChild(d),mxUtils.write(c,e),b.appendChild(c),f.style.border="1px solid #d3d3d3",f.style.borderWidth="1px 0px 1px 0px",f.style.padding="18px 0px 24px 0px",h.style.marginBottom="8px");mxClient.IS_QUIRKS&&(f.style.whiteSpace="nowrap",f.style.cssFloat="left");mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("createNewDiagram"));mxEvent.addListener(h,"click",function(){a.hideDialog();a.actions.get("new").funct()});f.appendChild(h);mxUtils.br(f);h=document.createElement("button");
-h.className="geBigButton";h.style.marginBottom="22px";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("openExistingDiagram"));mxEvent.addListener(h,"click",function(){a.actions.get("open").funct()});f.appendChild(h);c="undefined";a.mode==App.MODE_GOOGLE?c=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?c=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?c=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?c=mxResources.get("github"):
-a.mode==App.MODE_TRELLO?c=mxResources.get("trello"):a.mode==App.MODE_DEVICE?c=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(c=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(e=function(b){h.style.marginBottom="24px";var c=document.createElement("a");c.setAttribute("href","javascript:void(0)");c.style.display="block";c.style.marginTop="6px";mxUtils.write(c,mxResources.get("signOut"));h.style.marginBottom="16px";f.style.paddingBottom="18px";mxEvent.addListener(c,"click",
-function(){a.confirm(mxResources.get("areYouSure"),function(){b()})});f.appendChild(c)},d=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=d?(h.style.marginBottom="24px",e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="6px",mxUtils.write(e,mxResources.get("changeUser")+" ("+d.displayName+")"),h.style.marginBottom="16px",f.style.paddingBottom="18px",mxEvent.addListener(e,"click",function(){a.hideDialog();a.drive.clearUserId();
-a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(b){a.handleError(b,null,function(){a.hideDialog();a.showSplash()})}))}),f.appendChild(e)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?e(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?e(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}):
+"/trello-logo.svg",e=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(d.src=IMAGE_PATH+"/osa_database.png",e=mxResources.get("browser")):(d.src=IMAGE_PATH+"/osa_drive-harddisk.png",e=mxResources.get("device"));var g=document.createElement("div");g.style.margin="4px 0px 0px 0px";var h=document.createElement("button");h.className="geBigButton";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(g.style.padding="42px 0px 56px 0px",h.style.marginBottom="12px"):
+(c.appendChild(d),mxUtils.write(c,e),b.appendChild(c),g.style.border="1px solid #d3d3d3",g.style.borderWidth="1px 0px 1px 0px",g.style.padding="18px 0px 24px 0px",h.style.marginBottom="8px");mxClient.IS_QUIRKS&&(g.style.whiteSpace="nowrap",g.style.cssFloat="left");mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("createNewDiagram"));mxEvent.addListener(h,"click",function(){a.hideDialog();a.actions.get("new").funct()});g.appendChild(h);mxUtils.br(g);h=document.createElement("button");
+h.className="geBigButton";h.style.marginBottom="22px";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("openExistingDiagram"));mxEvent.addListener(h,"click",function(){a.actions.get("open").funct()});g.appendChild(h);c="undefined";a.mode==App.MODE_GOOGLE?c=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?c=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?c=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?c=mxResources.get("github"):
+a.mode==App.MODE_TRELLO?c=mxResources.get("trello"):a.mode==App.MODE_DEVICE?c=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(c=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(e=function(b){h.style.marginBottom="24px";var c=document.createElement("a");c.setAttribute("href","javascript:void(0)");c.style.display="block";c.style.marginTop="6px";mxUtils.write(c,mxResources.get("signOut"));h.style.marginBottom="16px";g.style.paddingBottom="18px";mxEvent.addListener(c,"click",
+function(){a.confirm(mxResources.get("areYouSure"),function(){b()})});g.appendChild(c)},d=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=d?(h.style.marginBottom="24px",e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="6px",mxUtils.write(e,mxResources.get("changeUser")+" ("+d.displayName+")"),h.style.marginBottom="16px",g.style.paddingBottom="18px",mxEvent.addListener(e,"click",function(){a.hideDialog();a.drive.clearUserId();
+a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(b){a.handleError(b,null,function(){a.hideDialog();a.showSplash()})}))}),g.appendChild(e)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?e(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?e(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}):
 a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&e(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&e(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="8px",mxUtils.write(e,mxResources.get("notUsingService",[c])),mxEvent.addListener(e,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}),
-f.appendChild(e));b.appendChild(f);this.container=b},ConfirmDialog=function(a,b,c,d,e,f,h,l,m){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight="44px";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);g.appendChild(k);k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var n=document.createElement("input");n.setAttribute("type","checkbox");
-f=mxUtils.button(f||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(n.checked)});f.className="geBtn";null!=l&&(f.innerHTML=l+"<br>"+f.innerHTML,f.style.paddingBottom="8px",f.style.paddingTop="8px",f.style.height="auto",f.style.width="40%");a.editor.cancelFirst&&k.appendChild(f);e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c(n.checked)});k.appendChild(e);null!=h?(e.innerHTML=h+"<br>"+e.innerHTML+"<br>",e.style.paddingBottom="8px",e.style.paddingTop="8px",
-e.style.height="auto",e.className="geBtn",e.style.width="40%"):e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||k.appendChild(f);g.appendChild(k);m?(k.style.marginTop="10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(n),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberThisSetting")),k.appendChild(h),g.appendChild(k),mxEvent.addListener(h,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)})):k.style.marginTop="16px";this.container=
-g},ErrorDialog=function(a,b,c,d,e,f,h,l,m,g,k){m=null!=m?m:!0;var n=document.createElement("div");n.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);n.appendChild(q)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=c;n.appendChild(b);c=document.createElement("div");
-c.style.marginTop="16px";c.style.textAlign="center";null!=f&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();f()}),b.className="geBtn",c.appendChild(b),c.style.textAlign="center");null!=g&&(g=mxUtils.button(g,function(){null!=k&&k()}),g.className="geBtn",c.appendChild(g));var t=mxUtils.button(d,function(){m&&a.hideDialog();null!=e&&e()});t.className="geBtn";c.appendChild(t);null!=h&&(d=mxUtils.button(h,function(){m&&a.hideDialog();null!=l&&l()}),d.className="geBtn gePrimaryBtn",
-c.appendChild(d));this.init=function(){t.focus()};n.appendChild(c);this.container=n},EmbedDialog=function(a,b,c,d,e){d=document.createElement("div");var f=/^https?:\/\//.test(b)||/^mailto:\/\//.test(b);mxUtils.write(d,mxResources.get(5E5>b.length?f?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(d);var h=document.createElement("div");h.style.position="absolute";h.style.top="30px";h.style.right="30px";h.style.color="gray";mxUtils.write(h,a.formatFileSize(b.length));d.appendChild(h);var l=document.createElement("textarea");
+g.appendChild(e));b.appendChild(g);this.container=b},ConfirmDialog=function(a,b,c,d,e,g,h,l,m){var f=document.createElement("div");f.style.textAlign="center";var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight="44px";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);f.appendChild(k);k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var n=document.createElement("input");n.setAttribute("type","checkbox");
+g=mxUtils.button(g||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(n.checked)});g.className="geBtn";null!=l&&(g.innerHTML=l+"<br>"+g.innerHTML,g.style.paddingBottom="8px",g.style.paddingTop="8px",g.style.height="auto",g.style.width="40%");a.editor.cancelFirst&&k.appendChild(g);e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c(n.checked)});k.appendChild(e);null!=h?(e.innerHTML=h+"<br>"+e.innerHTML+"<br>",e.style.paddingBottom="8px",e.style.paddingTop="8px",
+e.style.height="auto",e.className="geBtn",e.style.width="40%"):e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||k.appendChild(g);f.appendChild(k);m?(k.style.marginTop="10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(n),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberThisSetting")),k.appendChild(h),f.appendChild(k),mxEvent.addListener(h,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)})):k.style.marginTop="16px";this.container=
+f},ErrorDialog=function(a,b,c,d,e,g,h,l,m,f,k){m=null!=m?m:!0;var n=document.createElement("div");n.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);n.appendChild(q)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=c;n.appendChild(b);c=document.createElement("div");
+c.style.marginTop="16px";c.style.textAlign="center";null!=g&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();g()}),b.className="geBtn",c.appendChild(b),c.style.textAlign="center");null!=f&&(f=mxUtils.button(f,function(){null!=k&&k()}),f.className="geBtn",c.appendChild(f));var u=mxUtils.button(d,function(){m&&a.hideDialog();null!=e&&e()});u.className="geBtn";c.appendChild(u);null!=h&&(d=mxUtils.button(h,function(){m&&a.hideDialog();null!=l&&l()}),d.className="geBtn gePrimaryBtn",
+c.appendChild(d));this.init=function(){u.focus()};n.appendChild(c);this.container=n},EmbedDialog=function(a,b,c,d,e){d=document.createElement("div");var g=/^https?:\/\//.test(b)||/^mailto:\/\//.test(b);mxUtils.write(d,mxResources.get(5E5>b.length?g?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(d);var h=document.createElement("div");h.style.position="absolute";h.style.top="30px";h.style.right="30px";h.style.color="gray";mxUtils.write(h,a.formatFileSize(b.length));d.appendChild(h);var l=document.createElement("textarea");
 l.setAttribute("autocomplete","off");l.setAttribute("autocorrect","off");l.setAttribute("autocapitalize","off");l.setAttribute("spellcheck","false");l.style.marginTop="10px";l.style.resize="none";l.style.height="150px";l.style.width="440px";l.style.border="1px solid gray";l.value=mxResources.get("updatingDocument");d.appendChild(l);mxUtils.br(d);this.init=function(){window.setTimeout(function(){5E5>b.length?(l.value=b,l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
-l.select():document.execCommand("selectAll",!1,null)):(l.setAttribute("readonly","true"),l.value=b.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};h=document.createElement("div");h.style.position="absolute";h.style.bottom="36px";h.style.right="32px";var m=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!f||navigator.standalone||!(f||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(m=mxUtils.button(mxResources.get(5E5>b.length?"preview":"openInNewWindow"),
-function(){var d=5E5>b.length?l.value:b;if(null!=e)e(d);else if(f)try{var g=a.openLink(d);null!=g&&(null==c||0<c)&&window.setTimeout(mxUtils.bind(this,function(){null!=g&&null!=g.location.href&&g.location.href.substring(0,8)!=d.substring(0,8)&&(g.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),c||500)}catch(p){a.handleError({message:p.message||mxResources.get("drawingTooLarge")})}else{var k=window.open().document;k.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
-'</title><meta charset="utf-8"></head><body>'+b+"</body></html>");k.close()}}),m.className="geBtn",h.appendChild(m));if(!f||7500<b.length){var g=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",b,"text/plain")});g.className="geBtn";h.appendChild(g)}if(f&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>b.length){var k=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(l.value);a.openLink(b)}catch(q){a.handleError({message:q.message||
-mxResources.get("drawingTooLarge")})}}),g=document.createElement("img");g.setAttribute("src",Editor.facebookImage);g.setAttribute("width","18");g.setAttribute("height","18");g.setAttribute("border","0");k.appendChild(g);k.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");k.style.verticalAlign="bottom";k.style.paddingTop="4px";k.style.minWidth="46px";k.className="geBtn";h.appendChild(k)}7168>b.length&&(k=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+
-encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(l.value);a.openLink(b)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}}),g=document.createElement("img"),g.setAttribute("src",Editor.tweetImage),g.setAttribute("width","18"),g.setAttribute("height","18"),g.setAttribute("border","0"),g.style.marginBottom="5px",k.appendChild(g),k.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),k.style.verticalAlign=
-"bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(g);k=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode?
-g.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",g.className="geBtn"):(h.appendChild(m),g.className="geBtn",m.className="geBtn gePrimaryBtn");d.appendChild(h);this.container=d};EmbedDialog.showPreviewOption=!0;
-var GoogleSitesDialog=function(a,b){function c(){var a=null!=x.getTitle()?x.getTitle():this.defaultFilename;if(E.checked&&""!=q.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(q.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<D.length&&(b+="&s="+D);""!=t.value&&"0"!=t.value&&(b+="&border="+t.value);""!=n.value&&(b+="&height="+n.value);b+="&pan="+(p.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(w.checked?"1":"0");b+="&resize="+
-(u.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+m;e.mathEnabled&&(b+="&math=1");z.checked?b+="&edit=_blank":y.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));g.value=b}else x.constructor==DriveFile||x.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=q.value?b+=encodeURIComponent(mxUtils.htmlEntities(q.value))+"&type=3":(b+=x.getHash().substring(1),b=x.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+
-encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(k.value),b+="&height="+a),g.value=b):g.value=""}var d=document.createElement("div"),e=a.editor.graph,f=e.getGraphBounds(),h=e.view.scale,l=Math.floor(f.x/h-e.view.translate.x),m=Math.floor(f.y/h-e.view.translate.y);mxUtils.write(d,mxResources.get("googleGadget")+":");mxUtils.br(d);var g=document.createElement("input");g.setAttribute("type","text");g.style.marginBottom="8px";g.style.marginTop="2px";g.style.width="410px";d.appendChild(g);
-mxUtils.br(d);this.init=function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null)};mxUtils.write(d,mxResources.get("top")+":");var k=document.createElement("input");k.setAttribute("type","text");k.setAttribute("size","4");k.style.marginRight="16px";k.style.marginLeft="4px";k.value=l;d.appendChild(k);mxUtils.write(d,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type",
-"text");n.setAttribute("size","4");n.style.marginLeft="4px";n.value=Math.ceil(f.height/h);d.appendChild(n);mxUtils.br(d);f=document.createElement("hr");f.setAttribute("size","1");f.style.marginBottom="16px";f.style.marginTop="16px";d.appendChild(f);mxUtils.write(d,mxResources.get("publicDiagramUrl")+":");mxUtils.br(d);var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","28");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px";q.value=b||"";
-d.appendChild(q);mxUtils.br(d);mxUtils.write(d,mxResources.get("borderWidth")+":");var t=document.createElement("input");t.setAttribute("type","text");t.setAttribute("size","3");t.style.marginBottom="8px";t.style.marginLeft="4px";t.value="0";d.appendChild(t);mxUtils.br(d);var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="16px";d.appendChild(p);mxUtils.write(d,mxResources.get("pan")+" ");var v=document.createElement("input");
-v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";d.appendChild(v);mxUtils.write(d,mxResources.get("zoom")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";y.setAttribute("title",window.location.href);d.appendChild(y);mxUtils.write(d,mxResources.get("edit")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";d.appendChild(z);mxUtils.write(d,
-mxResources.get("asNew")+" ");mxUtils.br(d);var u=document.createElement("input");u.setAttribute("type","checkbox");u.setAttribute("checked","checked");u.defaultChecked=!0;u.style.marginLeft="16px";d.appendChild(u);mxUtils.write(d,mxResources.get("resize")+" ");var w=document.createElement("input");w.setAttribute("type","checkbox");w.style.marginLeft="8px";d.appendChild(w);mxUtils.write(d,mxResources.get("fit")+" ");var E=document.createElement("input");E.setAttribute("type","checkbox");E.style.marginLeft=
-"8px";d.appendChild(E);mxUtils.write(d,mxResources.get("embed")+" ");var D=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(p,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(y,"change",c);mxEvent.addListener(z,"change",c);mxEvent.addListener(E,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(k,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(q,"change",c);c();
-mxEvent.addListener(g,"click",function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null)});f=document.createElement("div");f.style.paddingTop="12px";f.style.textAlign="right";h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn gePrimaryBtn";f.appendChild(h);d.appendChild(f);this.container=d},CreateGraphDialog=function(a,b,c){var d=document.createElement("div");d.style.textAlign=
-"right";this.init=function(){var b=document.createElement("div");b.style.position="relative";b.style.border="1px solid gray";b.style.width="100%";b.style.height="360px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);d.appendChild(b);var f=new Graph(b);f.setCellsCloneable(!0);f.setPanning(!0);f.setAllowDanglingEdges(!1);f.connectionHandler.select=!1;f.view.setTranslate(20,20);f.border=20;f.panningHandler.useLeftButtonForPanning=!0;var h="curved=1;";f.cellRenderer.installCellOverlayListeners=
-function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};f.getAllConnectionConstraints=function(){return null};f.connectionHandler.marker.highlight.keepOnTop=
-!1;f.connectionHandler.createEdgeState=function(a){a=f.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var l=f.getDefaultParent(),m=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){f.connectionHandler.reset();f.clearSelection();var d=f.getCellGeometry(a),g;n(function(){g=f.insertVertex(l,null,"Entry",d.x,d.y,80,30,"rounded=1;");m(g);f.view.refresh(g);
-f.insertEdge(l,null,"",a,g,h)},function(){f.scrollCellToVisible(g)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),d=b.getProperty("state");f.popupMenuHandler.hideMenu();f.stopEditing(!1);var g=mxUtils.convertPoint(f.container,mxEvent.getClientX(c),mxEvent.getClientY(c));f.connectionHandler.start(d,g.x,g.y);f.isMouseDown=!0;f.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});f.addCellOverlay(a,b)});f.getModel().beginUpdate();var g;try{g=f.insertVertex(l,null,"Start",
-0,0,80,30,"ellipse"),m(g)}finally{f.getModel().endUpdate()}var k;"horizontalTree"==c?(k=new mxCompactTreeLayout(f),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==c?(k=new mxCompactTreeLayout(f,!1),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==c?(k=new mxRadialTreeLayout(f,!1),k.edgeRouting=!1,k.levelDistance=80):"verticalFlow"==c?k=new mxHierarchicalLayout(f,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
-c?k=new mxHierarchicalLayout(f,mxConstants.DIRECTION_WEST):"organic"==c?(k=new mxFastOrganicLayout(f,!1),k.forceConstant=80):"circle"==c&&(k=new mxCircleLayout(f));if(null!=k){var n=function(a,b){f.getModel().beginUpdate();try{null!=a&&a(),k.execute(f.getDefaultParent(),g)}catch(u){throw u;}finally{var c=new mxMorphing(f);c.addListener(mxEvent.DONE,mxUtils.bind(this,function(){f.getModel().endUpdate();null!=b&&b()}));c.startAnimation()}},q=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
-function(a,b,c,d,g){q.apply(this,arguments);n()};f.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);n()};f.connectionHandler.addListener(mxEvent.CONNECT,function(){n()})}var t=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()})});t.className="geBtn";a.editor.cancelFirst&&d.appendChild(t);var p=mxUtils.button(mxResources.get("insert"),function(){f.clearCellOverlays();
-var c=a.editor.graph.getFreeInsertPoint(),c=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),c.x,c.y),d=a.editor.graph.view,g=d.getBounds(c);g.x-=d.translate.x;g.y-=d.translate.y;a.editor.graph.scrollRectToVisible(g);a.editor.graph.setSelectionCells(c);null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()});d.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(t)};this.container=d};
+l.select():document.execCommand("selectAll",!1,null)):(l.setAttribute("readonly","true"),l.value=b.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};h=document.createElement("div");h.style.position="absolute";h.style.bottom="36px";h.style.right="32px";var m=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!g||navigator.standalone||!(g||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(m=mxUtils.button(mxResources.get(5E5>b.length?"preview":"openInNewWindow"),
+function(){var d=5E5>b.length?l.value:b;if(null!=e)e(d);else if(g)try{var f=a.openLink(d);null!=f&&(null==c||0<c)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=d.substring(0,8)&&(f.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),c||500)}catch(p){a.handleError({message:p.message||mxResources.get("drawingTooLarge")})}else{var k=window.open().document;k.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
+'</title><meta charset="utf-8"></head><body>'+b+"</body></html>");k.close()}}),m.className="geBtn",h.appendChild(m));if(!g||7500<b.length){var f=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",b,"text/plain")});f.className="geBtn";h.appendChild(f)}if(g&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>b.length){var k=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(l.value);a.openLink(b)}catch(q){a.handleError({message:q.message||
+mxResources.get("drawingTooLarge")})}}),f=document.createElement("img");f.setAttribute("src",Editor.facebookImage);f.setAttribute("width","18");f.setAttribute("height","18");f.setAttribute("border","0");k.appendChild(f);k.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");k.style.verticalAlign="bottom";k.style.paddingTop="4px";k.style.minWidth="46px";k.className="geBtn";h.appendChild(k)}7168>b.length&&(k=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+
+encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(l.value);a.openLink(b)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}}),f=document.createElement("img"),f.setAttribute("src",Editor.tweetImage),f.setAttribute("width","18"),f.setAttribute("height","18"),f.setAttribute("border","0"),f.style.marginBottom="5px",k.appendChild(f),k.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),k.style.verticalAlign=
+"bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(f);k=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode?
+f.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",f.className="geBtn"):(h.appendChild(m),f.className="geBtn",m.className="geBtn gePrimaryBtn");d.appendChild(h);this.container=d};EmbedDialog.showPreviewOption=!0;
+var GoogleSitesDialog=function(a,b){function c(){var a=null!=x.getTitle()?x.getTitle():this.defaultFilename;if(E.checked&&""!=q.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(q.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<D.length&&(b+="&s="+D);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=n.value&&(b+="&height="+n.value);b+="&pan="+(p.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(y.checked?"1":"0");b+="&resize="+
+(t.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+m;e.mathEnabled&&(b+="&math=1");z.checked?b+="&edit=_blank":w.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));f.value=b}else x.constructor==DriveFile||x.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=q.value?b+=encodeURIComponent(mxUtils.htmlEntities(q.value))+"&type=3":(b+=x.getHash().substring(1),b=x.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+
+encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(k.value),b+="&height="+a),f.value=b):f.value=""}var d=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),h=e.view.scale,l=Math.floor(g.x/h-e.view.translate.x),m=Math.floor(g.y/h-e.view.translate.y);mxUtils.write(d,mxResources.get("googleGadget")+":");mxUtils.br(d);var f=document.createElement("input");f.setAttribute("type","text");f.style.marginBottom="8px";f.style.marginTop="2px";f.style.width="410px";d.appendChild(f);
+mxUtils.br(d);this.init=function(){f.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)};mxUtils.write(d,mxResources.get("top")+":");var k=document.createElement("input");k.setAttribute("type","text");k.setAttribute("size","4");k.style.marginRight="16px";k.style.marginLeft="4px";k.value=l;d.appendChild(k);mxUtils.write(d,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type",
+"text");n.setAttribute("size","4");n.style.marginLeft="4px";n.value=Math.ceil(g.height/h);d.appendChild(n);mxUtils.br(d);g=document.createElement("hr");g.setAttribute("size","1");g.style.marginBottom="16px";g.style.marginTop="16px";d.appendChild(g);mxUtils.write(d,mxResources.get("publicDiagramUrl")+":");mxUtils.br(d);var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","28");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px";q.value=b||"";
+d.appendChild(q);mxUtils.br(d);mxUtils.write(d,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";d.appendChild(u);mxUtils.br(d);var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="16px";d.appendChild(p);mxUtils.write(d,mxResources.get("pan")+" ");var v=document.createElement("input");
+v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";d.appendChild(v);mxUtils.write(d,mxResources.get("zoom")+" ");var w=document.createElement("input");w.setAttribute("type","checkbox");w.style.marginLeft="8px";w.setAttribute("title",window.location.href);d.appendChild(w);mxUtils.write(d,mxResources.get("edit")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";d.appendChild(z);mxUtils.write(d,
+mxResources.get("asNew")+" ");mxUtils.br(d);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";d.appendChild(t);mxUtils.write(d,mxResources.get("resize")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";d.appendChild(y);mxUtils.write(d,mxResources.get("fit")+" ");var E=document.createElement("input");E.setAttribute("type","checkbox");E.style.marginLeft=
+"8px";d.appendChild(E);mxUtils.write(d,mxResources.get("embed")+" ");var D=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(p,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(y,"change",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(z,"change",c);mxEvent.addListener(E,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(k,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(q,"change",c);c();
+mxEvent.addListener(f,"click",function(){f.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)});g=document.createElement("div");g.style.paddingTop="12px";g.style.textAlign="right";h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn gePrimaryBtn";g.appendChild(h);d.appendChild(g);this.container=d},CreateGraphDialog=function(a,b,c){var d=document.createElement("div");d.style.textAlign=
+"right";this.init=function(){var b=document.createElement("div");b.style.position="relative";b.style.border="1px solid gray";b.style.width="100%";b.style.height="360px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);d.appendChild(b);var g=new Graph(b);g.setCellsCloneable(!0);g.setPanning(!0);g.setAllowDanglingEdges(!1);g.connectionHandler.select=!1;g.view.setTranslate(20,20);g.border=20;g.panningHandler.useLeftButtonForPanning=!0;var h="curved=1;";g.cellRenderer.installCellOverlayListeners=
+function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};g.getAllConnectionConstraints=function(){return null};g.connectionHandler.marker.highlight.keepOnTop=
+!1;g.connectionHandler.createEdgeState=function(a){a=g.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var l=g.getDefaultParent(),m=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){g.connectionHandler.reset();g.clearSelection();var d=g.getCellGeometry(a),f;n(function(){f=g.insertVertex(l,null,"Entry",d.x,d.y,80,30,"rounded=1;");m(f);g.view.refresh(f);
+g.insertEdge(l,null,"",a,f,h)},function(){g.scrollCellToVisible(f)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),d=b.getProperty("state");g.popupMenuHandler.hideMenu();g.stopEditing(!1);var f=mxUtils.convertPoint(g.container,mxEvent.getClientX(c),mxEvent.getClientY(c));g.connectionHandler.start(d,f.x,f.y);g.isMouseDown=!0;g.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});g.addCellOverlay(a,b)});g.getModel().beginUpdate();var f;try{f=g.insertVertex(l,null,"Start",
+0,0,80,30,"ellipse"),m(f)}finally{g.getModel().endUpdate()}var k;"horizontalTree"==c?(k=new mxCompactTreeLayout(g),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==c?(k=new mxCompactTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==c?(k=new mxRadialTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=80):"verticalFlow"==c?k=new mxHierarchicalLayout(g,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
+c?k=new mxHierarchicalLayout(g,mxConstants.DIRECTION_WEST):"organic"==c?(k=new mxFastOrganicLayout(g,!1),k.forceConstant=80):"circle"==c&&(k=new mxCircleLayout(g));if(null!=k){var n=function(a,b){g.getModel().beginUpdate();try{null!=a&&a(),k.execute(g.getDefaultParent(),f)}catch(t){throw t;}finally{var c=new mxMorphing(g);c.addListener(mxEvent.DONE,mxUtils.bind(this,function(){g.getModel().endUpdate();null!=b&&b()}));c.startAnimation()}},q=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
+function(a,b,c,d,f){q.apply(this,arguments);n()};g.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);n()};g.connectionHandler.addListener(mxEvent.CONNECT,function(){n()})}var u=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=b.parentNode&&(g.destroy(),b.parentNode.removeChild(b));a.hideDialog()})});u.className="geBtn";a.editor.cancelFirst&&d.appendChild(u);var p=mxUtils.button(mxResources.get("insert"),function(){g.clearCellOverlays();
+var c=a.editor.graph.getFreeInsertPoint(),c=a.editor.graph.importCells(g.getModel().getChildren(g.getDefaultParent()),c.x,c.y),d=a.editor.graph.view,f=d.getBounds(c);f.x-=d.translate.x;f.y-=d.translate.y;a.editor.graph.scrollRectToVisible(f);a.editor.graph.setSelectionCells(c);null!=b.parentNode&&(g.destroy(),b.parentNode.removeChild(b));a.hideDialog()});d.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(u)};this.container=d};
 CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==":
 IMAGE_PATH+"/handle-connect.png",26,26);
 var BackgroundImageDialog=function(a,b){var c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h2");mxUtils.write(d,mxResources.get("backgroundImage"));d.style.marginTop="0px";c.appendChild(d);mxUtils.write(c,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(c);var d=a.editor.graph.backgroundImage,e=document.createElement("input");e.setAttribute("type","text");e.style.marginTop="4px";e.style.marginBottom="4px";e.style.width="350px";e.value=
-null!=d?d.src:"";var f=!1,h=function(){f||""==e.value||a.isOffline()?(l.value="",m.value=""):a.loadImage(mxUtils.trim(e.value),function(a){l.value=a.width;m.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));e.value="";l.value="";m.value=""})};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=c.parentNode,d=null;mxEvent.addListener(b,"dragleave",function(a){null!=
-d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,b,c,d,g,k){e.value=a;h()},function(){},
+null!=d?d.src:"";var g=!1,h=function(){g||""==e.value||a.isOffline()?(l.value="",m.value=""):a.loadImage(mxUtils.trim(e.value),function(a){l.value=a.width;m.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));e.value="";l.value="";m.value=""})};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=c.parentNode,d=null;mxEvent.addListener(b,"dragleave",function(a){null!=
+d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,b,c,d,f,k){e.value=a;h()},function(){},
 function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(e.value=decodeURIComponent(c),h())}b.stopPropagation();b.preventDefault()}),!1)}};c.appendChild(e);mxUtils.br(c);mxUtils.br(c);mxUtils.write(c,mxResources.get("width")+":");var l=document.createElement("input");
-l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=d?d.width:"";c.appendChild(l);mxUtils.write(c,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="16px";m.value=null!=d?d.height:"";c.appendChild(m);d=mxUtils.button(mxResources.get("reset"),function(){e.value="";l.value="";m.value="";f=!1});mxEvent.addListener(d,"mousedown",
-function(){f=!0});mxEvent.addListener(d,"touchstart",function(){f=!0});d.className="geBtn";d.width="100";c.appendChild(d);mxUtils.br(c);mxEvent.addListener(e,"change",h);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url,h()));e.focus()};d=document.createElement("div");d.style.marginTop="40px";d.style.textAlign="right";var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
-g.className="geBtn";a.editor.cancelFirst&&d.appendChild(g);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var k=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)});
+l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=d?d.width:"";c.appendChild(l);mxUtils.write(c,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="16px";m.value=null!=d?d.height:"";c.appendChild(m);d=mxUtils.button(mxResources.get("reset"),function(){e.value="";l.value="";m.value="";g=!1});mxEvent.addListener(d,"mousedown",
+function(){g=!0});mxEvent.addListener(d,"touchstart",function(){g=!0});d.className="geBtn";d.width="100";c.appendChild(d);mxUtils.br(c);mxEvent.addListener(e,"change",h);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url,h()));e.focus()};d=document.createElement("div");d.style.marginTop="40px";d.style.textAlign="right";var f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
+f.className="geBtn";a.editor.cancelFirst&&d.appendChild(f);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var k=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)});
 k.className="geBtn";d.appendChild(k);null!=a.drive&&"1"==urlParams.photos&&(k=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",d.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,m.value):null)});k.className="geBtn gePrimaryBtn";d.appendChild(k);a.editor.cancelFirst||d.appendChild(g);c.appendChild(d);this.container=c},ParseDialog=function(a,b,c){function d(b,c){var d=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"==
-c||"plantUmlTxt"==c){var d="plantUmlTxt"==c?PLANT_URL+"/txt/":"plantUmlPng"==c?PLANT_URL+"/png/":PLANT_URL+"/svg/",g=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=k(c1&63);r+=k(c2&63);r+=k(c3&63);return r+=
-k(c4&63)},n=new XMLHttpRequest;n.open("GET",d+function(a){r="";for(h=0;h<a.length;h+=3)r=h+2==a.length?r+e(a.charCodeAt(h),a.charCodeAt(h+1),0):h+1==a.length?r+e(a.charCodeAt(h),0,0):r+e(a.charCodeAt(h),a.charCodeAt(h+1),a.charCodeAt(h+2));return r}(g.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=c&&(n.responseType="blob");n.onload=function(d){if(200<=this.status&&300>this.status)if("plantUmlTxt"==c){a.spinner.stop();g.getModel().beginUpdate();try{cell=g.insertVertex(null,
-null,"<pre>"+this.response+"</pre>",f.x,f.y,1,1,"text;html=1;overflow=fill;"),g.updateCellSize(cell,!0)}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())}else d=new FileReader,d.readAsDataURL(this.response),d.onload=function(c){var d=new Image;d.onload=function(){a.spinner.stop();var k=d.width,n=d.height;if(0==k&&0==n){var u=c.target.result,e=u.indexOf(","),u=decodeURIComponent(escape(atob(u.substring(e+1)))),u=mxUtils.parseXml(u).getElementsByTagName("svg");
-0<u.length&&(k=parseFloat(u[0].getAttribute("width")),n=parseFloat(u[0].getAttribute("height")))}g.getModel().beginUpdate();try{cell=g.insertVertex(null,null,b,f.x,f.y,k,n,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c.target.result)+";")}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())};d.src=c.target.result},d.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(d)};n.onerror=
-function(b){a.handleError(b)};n.send()}}else if("table"==c){for(var u=null,w=[],q=0,h=0;h<d.length;h++)if(n=mxUtils.trim(d[h]),"create table"==n.substring(0,12).toLowerCase())n=mxUtils.trim(n.substring(12)),"("==n.charAt(n.length-1)&&(n=n.substring(0,n.lastIndexOf(" "))),u=new mxCell(n,new mxGeometry(q,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
-u.vertex=!0,w.push(u),n=a.editor.graph.getPreferredSizeForCell(m),null!=n&&(u.geometry.width=n.width+10);else if(null!=u&&")"==n.charAt(0))q+=u.geometry.width+40,u=null;else if("("!=n&&null!=u&&(n=n.substring(0,","==n.charAt(n.length-1)?n.length-1:n.length),"primary key"!=n.substring(0,11).toLowerCase())){var l=n.toLowerCase().indexOf("primary key"),n=n.replace(/primary key/i,""),m=new mxCell(n,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
-m.vertex=!0;n=sb.cloneCell(m,0<l?"PK":"");n.connectable=!1;n.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";n.geometry.width=30;n.geometry.height=26;m.insert(n);n=a.editor.graph.getPreferredSizeForCell(m);null!=n&&u.geometry.width<n.width+10&&(u.geometry.width=Math.min(220,n.width+10));u.insert(m);u.geometry.height+=26}0<w.length&&(g=a.editor.graph,
-d=g.view,n=g.getGraphBounds(),g.setSelectionCells(g.importCells(w,Math.ceil(Math.max(0,n.x/d.scale-d.translate.x)+4*g.gridSize),Math.ceil(Math.max(0,(n.y+n.height)/d.scale-d.translate.y)+4*g.gridSize))),g.scrollCellToVisible(g.getSelectionCell()))}else if("list"==c){if(0<d.length){g=a.editor.graph;u=new mxCell(d[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
-u.vertex=!0;n=g.getPreferredSizeForCell(u);null!=n&&u.geometry.width<n.width+10&&(u.geometry.width=n.width+10);m=[u];if(1<d.length)for(h=1;h<d.length;h++)"--"==d[h]?(n=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),n.vertex=!0,u.geometry.height+=n.geometry.height,u.insert(n),m.push(n)):0<d[h].length&&";"!=d[h].charAt(0)&&(q=new mxCell(d[h],
-new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),q.vertex=!0,n=g.getPreferredSizeForCell(q),null!=n&&q.geometry.width<n.width&&(q.geometry.width=n.width),u.geometry.width=Math.max(u.geometry.width,q.geometry.width),u.geometry.height+=q.geometry.height,u.insert(q),m.push(q));g.getModel().beginUpdate();try{u=g.importCells([u],f.x,f.y)[0],g.fireEvent(new mxEventObject("cellsInserted",
-"cells",[u].concat(u.children)))}finally{g.getModel().endUpdate()}g.setSelectionCell(u);g.scrollCellToVisible(g.getSelectionCell())}}else{for(var m=function(a){var b=A[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,A[a]=b,w.push(b));return b},A={},w=[],h=0;h<d.length;h++)if(";"!=d[h].charAt(0)){var B=d[h].split("->");2<=B.length&&(q=m(B[0]),l=m(B[B.length-1]),B=new mxCell(2<B.length?B[1]:"",new mxGeometry),B.edge=!0,q.insertEdge(B,!0),l.insertEdge(B,!1),
-w.push(B))}if(0<w.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);g=new Graph(d);g.getModel().beginUpdate();try{w=g.importCells(w);for(h=0;h<w.length;h++)g.getModel().isVertex(w[h])&&(n=g.getPreferredSizeForCell(w[h]),w[h].geometry.width=Math.max(w[h].geometry.width,n.width),w[h].geometry.height=Math.max(w[h].geometry.height,n.height));u=new mxFastOrganicLayout(g);u.disableEdgeStyle=!1;u.forceConstant=120;u.execute(g.getDefaultParent())}finally{g.getModel().endUpdate()}g.clearCellOverlays();
-m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(g.getModel().getChildren(g.getDefaultParent()),f.x,f.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m[0]);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());g.destroy();d.parentNode.removeChild(d)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
+a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",d.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,m.value):null)});k.className="geBtn gePrimaryBtn";d.appendChild(k);a.editor.cancelFirst||d.appendChild(f);c.appendChild(d);this.container=c},ParseDialog=function(a,b,c){function d(b,c){var d=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"==
+c||"plantUmlTxt"==c){var d="plantUmlTxt"==c?PLANT_URL+"/txt/":"plantUmlPng"==c?PLANT_URL+"/png/":PLANT_URL+"/svg/",f=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=k(c1&63);r+=k(c2&63);r+=k(c3&63);return r+=
+k(c4&63)},t=new XMLHttpRequest;t.open("GET",d+function(a){r="";for(h=0;h<a.length;h+=3)r=h+2==a.length?r+e(a.charCodeAt(h),a.charCodeAt(h+1),0):h+1==a.length?r+e(a.charCodeAt(h),0,0):r+e(a.charCodeAt(h),a.charCodeAt(h+1),a.charCodeAt(h+2));return r}(f.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=c&&(t.responseType="blob");t.onload=function(d){if(200<=this.status&&300>this.status)if("plantUmlTxt"==c){a.spinner.stop();f.getModel().beginUpdate();try{cell=f.insertVertex(null,
+null,"<pre>"+this.response+"</pre>",g.x,g.y,1,1,"text;html=1;overflow=fill;"),f.updateCellSize(cell,!0)}finally{f.getModel().endUpdate()}f.setSelectionCell(cell);f.scrollCellToVisible(f.getSelectionCell())}else d=new FileReader,d.readAsDataURL(this.response),d.onload=function(c){var d=new Image;d.onload=function(){a.spinner.stop();var k=d.width,t=d.height;if(0==k&&0==t){var n=c.target.result,e=n.indexOf(","),n=decodeURIComponent(escape(atob(n.substring(e+1)))),n=mxUtils.parseXml(n).getElementsByTagName("svg");
+0<n.length&&(k=parseFloat(n[0].getAttribute("width")),t=parseFloat(n[0].getAttribute("height")))}f.getModel().beginUpdate();try{cell=f.insertVertex(null,null,b,g.x,g.y,k,t,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c.target.result)+";")}finally{f.getModel().endUpdate()}f.setSelectionCell(cell);f.scrollCellToVisible(f.getSelectionCell())};d.src=c.target.result},d.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(d)};t.onerror=
+function(b){a.handleError(b)};t.send()}}else if("table"==c){for(var n=null,u=[],q=0,h=0;h<d.length;h++)if(t=mxUtils.trim(d[h]),"create table"==t.substring(0,12).toLowerCase())t=mxUtils.trim(t.substring(12)),"("==t.charAt(t.length-1)&&(t=t.substring(0,t.lastIndexOf(" "))),n=new mxCell(t,new mxGeometry(q,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
+n.vertex=!0,u.push(n),t=a.editor.graph.getPreferredSizeForCell(m),null!=t&&(n.geometry.width=t.width+10);else if(null!=n&&")"==t.charAt(0))q+=n.geometry.width+40,n=null;else if("("!=t&&null!=n&&(t=t.substring(0,","==t.charAt(t.length-1)?t.length-1:t.length),"primary key"!=t.substring(0,11).toLowerCase())){var l=t.toLowerCase().indexOf("primary key"),t=t.replace(/primary key/i,""),m=new mxCell(t,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
+m.vertex=!0;t=sb.cloneCell(m,0<l?"PK":"");t.connectable=!1;t.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";t.geometry.width=30;t.geometry.height=26;m.insert(t);t=a.editor.graph.getPreferredSizeForCell(m);null!=t&&n.geometry.width<t.width+10&&(n.geometry.width=Math.min(220,t.width+10));n.insert(m);n.geometry.height+=26}0<u.length&&(f=a.editor.graph,
+d=f.view,t=f.getGraphBounds(),f.setSelectionCells(f.importCells(u,Math.ceil(Math.max(0,t.x/d.scale-d.translate.x)+4*f.gridSize),Math.ceil(Math.max(0,(t.y+t.height)/d.scale-d.translate.y)+4*f.gridSize))),f.scrollCellToVisible(f.getSelectionCell()))}else if("list"==c){if(0<d.length){f=a.editor.graph;n=new mxCell(d[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
+n.vertex=!0;t=f.getPreferredSizeForCell(n);null!=t&&n.geometry.width<t.width+10&&(n.geometry.width=t.width+10);m=[n];if(1<d.length)for(h=1;h<d.length;h++)"--"==d[h]?(t=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),t.vertex=!0,n.geometry.height+=t.geometry.height,n.insert(t),m.push(t)):0<d[h].length&&";"!=d[h].charAt(0)&&(q=new mxCell(d[h],
+new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),q.vertex=!0,t=f.getPreferredSizeForCell(q),null!=t&&q.geometry.width<t.width&&(q.geometry.width=t.width),n.geometry.width=Math.max(n.geometry.width,q.geometry.width),n.geometry.height+=q.geometry.height,n.insert(q),m.push(q));f.getModel().beginUpdate();try{n=f.importCells([n],g.x,g.y)[0],f.fireEvent(new mxEventObject("cellsInserted",
+"cells",[n].concat(n.children)))}finally{f.getModel().endUpdate()}f.setSelectionCell(n);f.scrollCellToVisible(f.getSelectionCell())}}else{for(var m=function(a){var b=C[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,C[a]=b,u.push(b));return b},C={},u=[],h=0;h<d.length;h++)if(";"!=d[h].charAt(0)){var G=d[h].split("->");2<=G.length&&(q=m(G[0]),l=m(G[G.length-1]),G=new mxCell(2<G.length?G[1]:"",new mxGeometry),G.edge=!0,q.insertEdge(G,!0),l.insertEdge(G,!1),
+u.push(G))}if(0<u.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);f=new Graph(d);f.getModel().beginUpdate();try{u=f.importCells(u);for(h=0;h<u.length;h++)f.getModel().isVertex(u[h])&&(t=f.getPreferredSizeForCell(u[h]),u[h].geometry.width=Math.max(u[h].geometry.width,t.width),u[h].geometry.height=Math.max(u[h].geometry.height,t.height));n=new mxFastOrganicLayout(f);n.disableEdgeStyle=!1;n.forceConstant=120;n.execute(f.getDefaultParent())}finally{f.getModel().endUpdate()}f.clearCellOverlays();
+m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),g.x,g.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());f.destroy();d.parentNode.removeChild(d)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
 "table"==l.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==l.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":
-"plantUmlSvg"==l.value||"plantUmlTxt"==l.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var f=a.editor.graph.getFreeInsertPoint();b=document.createElement("div");b.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height=
-"354px";h.style.marginBottom="16px";var l=document.createElement("select"),m=document.createElement("option");m.setAttribute("value","list");mxUtils.write(m,mxResources.get("list"));l.appendChild(m);null!=c&&"fromText"!=c||m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value","table");mxUtils.write(m,mxResources.get("formatSql"));l.appendChild(m);"formatSql"==c&&m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value",
-"diagram");mxUtils.write(m,mxResources.get("diagram"));l.appendChild(m);m=document.createElement("option");m.setAttribute("value","plantUmlSvg");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==c&&m.setAttribute("selected","selected");c=document.createElement("option");c.setAttribute("value","plantUmlPng");mxUtils.write(c,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var g=document.createElement("option");g.setAttribute("value","plantUmlTxt");
-mxUtils.write(g,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&(l.appendChild(m),l.appendChild(c),l.appendChild(g));var k=e();h.value=k;b.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.addEventListener("drop",function(a){a.stopPropagation();a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];
-var b=new FileReader;b.onload=function(a){h.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(l);mxEvent.addListener(l,"change",function(){var a=e();if(0==h.value.length||h.value==k)k=a,h.value=k});c=mxUtils.button(mxResources.get("close"),function(){h.value==k?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});c.className="geBtn";a.editor.cancelFirst&&b.appendChild(c);m=mxUtils.button(mxResources.get("insert"),function(){a.hideDialog();d(h.value,l.value)});
-b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(c);this.container=b},NewDialog=function(a,b,c,d,e,f,h,l,m,g,k,n,q,t,p){function v(){for(var a=!0;A<Q.length&&(a||0!=mxUtils.mod(A,30));)a=Q[A++],u(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function y(){if(S)c||a.hideDialog(),t(S,O,F.value);else if(d)c||a.hideDialog(),d(Z,F.value);else{var b=F.value;null!=b&&0<b.length&&a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==
-App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function z(a,b,c,d,g){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");B.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=g;N.style.backgroundColor=l;N.style.border=m}function u(a,b,c,d,g,k,n,u){var e=document.createElement("div");e.className="geTemplate";e.style.height=
-R+"px";e.style.width=T+"px";null!=d&&0<d.length&&e.setAttribute("title",d);if(null!=k)e.style.backgroundImage="url("+k+")",e.style.backgroundSize="contain",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",mxEvent.addListener(e,"click",function(b){z(e,null,null,a,n)}),mxEvent.addListener(e,"dblclick",function(a){y()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);e.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";e.style.backgroundPosition=
-"center center";e.style.backgroundRepeat="no-repeat";var f=!1;mxEvent.addListener(e,"click",function(c){B.setAttribute("disabled","disabled");e.style.backgroundColor="transparent";e.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(z(e,a.getText(),b),f&&y())}))});mxEvent.addListener(e,"dblclick",function(a){f=!0})}else e.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(c)+
-"</td></tr></table>",g&&z(e),null!=u?mxEvent.addListener(e,"click",u):(mxEvent.addListener(e,"click",function(a){z(e)}),mxEvent.addListener(e,"dblclick",function(a){y()}));I.appendChild(e)}function w(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0,18)+"&hellip;");
-c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=g&&(c.style.padding=g);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,I.scrollTop=0,I.innerHTML="",A=0,Q=V[b],C=null,v())})})(b,c)}v()}c=null!=
-c?c:!0;e=null!=e?e:!1;h=null!=h?h:"#ebf2f9";l=null!=l?l:"#e6eff8";m=null!=m?m:"1px solid #ccd9ea";k=null!=k?k:TEMPLATE_PATH+"/index.xml";var E=document.createElement("div");E.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";c&&E.appendChild(D);var x=document.createElement("img");x.setAttribute("border","0");x.setAttribute("align","absmiddle");x.style.width="40px";x.style.height="40px";x.style.marginRight="10px";x.style.paddingBottom="4px";x.src=
-a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!b&&c&&D.appendChild(x);c&&mxUtils.write(D,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
-mxResources.get("filename"))+":");x=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?x=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?x=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?x=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?x=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(x=a.trello.extension);var F=document.createElement("input");F.setAttribute("value",a.defaultFilename+x);F.style.marginRight="20px";F.style.marginLeft="10px";F.style.width=
-b?"220px":"430px";this.init=function(){c&&(F.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?F.select():document.execCommand("selectAll",!1,null))};c&&D.appendChild(F);var D=!1,A=0,B=mxUtils.button(mxResources.get("create"),function(){B.setAttribute("disabled","disabled");y();B.removeAttribute("disabled")});B.className="geBtn gePrimaryBtn";if(n||q){var J=[],C=null,L=function(a){B.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className=b==
-a?"geBtn gePrimaryBtn":"geBtn"},D=!0,x=document.createElement("div");x.style.whiteSpace="nowrap";x.style.height="30px";E.appendChild(x);var H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";A=0;C!=Q&&(Q=C,v(),C=null)});J.push(H);x.appendChild(H);var G=function(a){W.style.display="none";I.style.left="30px";L(a?-1:1);null==C&&(C=Q);I.scrollTop=0;I.innerHTML="";var b=new Spinner({lines:12,length:10,width:5,
-radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});b.spin(I);A=0;var c=function(a,c){b.stop();Q=a;c?I.innerHTML=c:0==a.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",v())};a?q(M.value,c):n(c)};n&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){G()}),x.appendChild(H),J.push(H));if(q){H=document.createElement("span");H.style.marginLeft="10px";H.innerHTML=mxResources.get("search")+":";x.appendChild(H);
-var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&G(!0)});x.appendChild(M);H=mxUtils.button(mxResources.get("search"),function(){G(!0)});H.className="geBtn";x.appendChild(H)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";D=(c?72:40)+(D?30:0);I.style.top=
+"plantUmlSvg"==l.value||"plantUmlTxt"==l.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var g=a.editor.graph.getFreeInsertPoint();b=document.createElement("div");b.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height=
+"354px";h.style.marginBottom="16px";var l=document.createElement("select");"formatSql"==c&&(l.style.display="none");var m=document.createElement("option");m.setAttribute("value","list");mxUtils.write(m,mxResources.get("list"));"plantUml"!=c&&l.appendChild(m);null!=c&&"fromText"!=c||m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value","table");mxUtils.write(m,mxResources.get("formatSql"));"formatSql"==c&&(l.appendChild(m),m.setAttribute("selected","selected"));
+m=document.createElement("option");m.setAttribute("value","diagram");mxUtils.write(m,mxResources.get("diagram"));"plantUml"!=c&&l.appendChild(m);m=document.createElement("option");m.setAttribute("value","plantUmlSvg");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==c&&m.setAttribute("selected","selected");var f=document.createElement("option");f.setAttribute("value","plantUmlPng");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+
+")");var k=document.createElement("option");k.setAttribute("value","plantUmlTxt");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==c&&(l.appendChild(m),l.appendChild(f),l.appendChild(k));var n=e();h.value=n;b.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.addEventListener("drop",function(a){a.stopPropagation();
+a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){h.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(l);mxEvent.addListener(l,"change",function(){var a=e();if(0==h.value.length||h.value==n)n=a,h.value=n});c=mxUtils.button(mxResources.get("close"),function(){h.value==n?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});c.className="geBtn";a.editor.cancelFirst&&b.appendChild(c);m=mxUtils.button(mxResources.get("insert"),
+function(){a.hideDialog();d(h.value,l.value)});b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(c);this.container=b},NewDialog=function(a,b,c,d,e,g,h,l,m,f,k,n,q,u,p){function v(){for(var a=!0;A<Q.length&&(a||0!=mxUtils.mod(A,30));)a=Q[A++],t(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function w(){if(S)c||a.hideDialog(),u(S,O,J.value);else if(d)c||a.hideDialog(),d(Z,J.value);else{var b=J.value;null!=b&&0<b.length&&
+a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function z(a,b,c,d,f){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");C.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=f;N.style.backgroundColor=l;N.style.border=m}function t(a,b,c,d,f,k,t,n){var e=document.createElement("div");
+e.className="geTemplate";e.style.height=R+"px";e.style.width=T+"px";null!=d&&0<d.length&&e.setAttribute("title",d);if(null!=k)e.style.backgroundImage="url("+k+")",e.style.backgroundSize="contain",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",mxEvent.addListener(e,"click",function(b){z(e,null,null,a,t)}),mxEvent.addListener(e,"dblclick",function(a){w()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);e.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,
+a.length-4)+".png)";e.style.backgroundPosition="center center";e.style.backgroundRepeat="no-repeat";var g=!1;mxEvent.addListener(e,"click",function(c){C.setAttribute("disabled","disabled");e.style.backgroundColor="transparent";e.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(z(e,a.getText(),b),g&&w())}))});mxEvent.addListener(e,"dblclick",function(a){g=!0})}else e.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+
+mxResources.get(c)+"</td></tr></table>",f&&z(e),null!=n?mxEvent.addListener(e,"click",n):(mxEvent.addListener(e,"click",function(a){z(e)}),mxEvent.addListener(e,"dblclick",function(a){w()}));I.appendChild(e)}function y(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0,
+18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=f&&(c.style.padding=f);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,I.scrollTop=0,I.innerHTML="",A=0,Q=V[b],B=null,v())})})(b,
+c)}v()}c=null!=c?c:!0;e=null!=e?e:!1;h=null!=h?h:"#ebf2f9";l=null!=l?l:"#e6eff8";m=null!=m?m:"1px solid #ccd9ea";k=null!=k?k:TEMPLATE_PATH+"/index.xml";var E=document.createElement("div");E.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";c&&E.appendChild(D);var x=document.createElement("img");x.setAttribute("border","0");x.setAttribute("align","absmiddle");x.style.width="40px";x.style.height="40px";x.style.marginRight="10px";x.style.paddingBottom=
+"4px";x.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!b&&c&&D.appendChild(x);c&&mxUtils.write(D,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
+mxResources.get("filename"))+":");x=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?x=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?x=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?x=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?x=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(x=a.trello.extension);var J=document.createElement("input");J.setAttribute("value",a.defaultFilename+x);J.style.marginRight="20px";J.style.marginLeft="10px";J.style.width=
+b?"220px":"430px";this.init=function(){c&&(J.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?J.select():document.execCommand("selectAll",!1,null))};c&&D.appendChild(J);var D=!1,A=0,C=mxUtils.button(mxResources.get("create"),function(){C.setAttribute("disabled","disabled");w();C.removeAttribute("disabled")});C.className="geBtn gePrimaryBtn";if(n||q){var G=[],B=null,L=function(a){C.setAttribute("disabled","disabled");for(var b=0;b<G.length;b++)G[b].className=b==
+a?"geBtn gePrimaryBtn":"geBtn"},D=!0,x=document.createElement("div");x.style.whiteSpace="nowrap";x.style.height="30px";E.appendChild(x);var H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";A=0;B!=Q&&(Q=B,v(),B=null)});G.push(H);x.appendChild(H);var F=function(a){W.style.display="none";I.style.left="30px";L(a?-1:1);null==B&&(B=Q);I.scrollTop=0;I.innerHTML="";var b=new Spinner({lines:12,length:10,width:5,
+radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});b.spin(I);A=0;var c=function(a,c){b.stop();Q=a;c?I.innerHTML=c:0==a.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",v())};a?q(M.value,c):n(c)};n&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){F()}),x.appendChild(H),G.push(H));if(q){H=document.createElement("span");H.style.marginLeft="10px";H.innerHTML=mxResources.get("search")+":";x.appendChild(H);
+var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&F(!0)});x.appendChild(M);H=mxUtils.button(mxResources.get("search"),function(){F(!0)});H.className="geBtn";x.appendChild(H)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";D=(c?72:40)+(D?30:0);I.style.top=
 D+"px";I.style.bottom="68px";I.style.margin="6px 0 0 -1px";I.style.padding="6px";I.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+D+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!b){E.appendChild(W);E.appendChild(I);var P=!1;mxUtils.get(k,function(a){if(!P){P=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==
-typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=V[b];null==c&&(K++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}w()}})}mxEvent.addListener(F,"keypress",function(a){13==a.keyCode&&y()});k=document.createElement("div");k.style.marginTop=b?"4px":"16px";k.style.textAlign="right";k.style.position="absolute";k.style.left="40px";k.style.bottom=
-"24px";k.style.right="40px";D=mxUtils.button(mxResources.get("cancel"),function(){null!=f&&f();a.hideDialog(!0)});D.className="geBtn";!a.editor.cancelFirst||e&&null==f||k.appendChild(D);b||a.isOffline()||!c||null!=d||e||(x=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),x.className="geBtn",k.appendChild(x));b||"1"==urlParams.embed||e||(b=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,
-"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(F.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),b.className="geBtn",k.appendChild(b));Graph.fileSupport&&p&&(p=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple",
-"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0)});b.click()}),p.className="geBtn",k.appendChild(p));k.appendChild(B);a.editor.cancelFirst||null!=d||e&&null==f||k.appendChild(D);E.appendChild(k);this.container=E},CreateDialog=function(a,b,c,d,e,f,h,l,m,g,k,n,q,t,p){function v(c,d,g,k){function u(){mxEvent.addListener(e,"click",function(){var c=g;if(h){var d=w.value,k=d.lastIndexOf(".");if(0>b.lastIndexOf(".")&&0>k){var c=null!=c?c:x.value,
-e="";c==App.MODE_GOOGLE?e=a.drive.extension:c==App.MODE_GITHUB?e=a.gitHub.extension:c==App.MODE_TRELLO?e=a.trello.extension:c==App.MODE_DROPBOX?e=a.dropbox.extension:c==App.MODE_ONEDRIVE?e=a.oneDrive.extension:c==App.MODE_DEVICE&&(e=".xml");0<=k&&(d=d.substring(0,k));w.value=d+e}}y(g)})}var e=document.createElement("a");e.style.overflow="hidden";var f=document.createElement("img");f.src=c;f.setAttribute("border","0");f.setAttribute("align","absmiddle");f.style.width="60px";f.style.height="60px";f.style.paddingBottom=
-"6px";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(f);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var q=document.createElement("div");e.appendChild(q);mxUtils.write(q,d);if(null!=k&&null==a[k]){f.style.visibility="hidden";mxUtils.setOpacity(q,10);var t=new Spinner({lines:12,
-length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(e);var p=window.setTimeout(function(){null==a[k]&&(t.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(p),mxUtils.setOpacity(q,100),f.style.visibility="",t.stop(),u())}))}else u();E.appendChild(e);++D==n&&(mxUtils.br(E),D=0)}function y(b){var d=w.value;if(null==b||null!=d&&0<d.length)a.hideDialog(),c(d,
-b)}h=null!=h?h:!0;l=null!=l?l:!0;n=null!=n?n:4;var z=document.createElement("div");null==d&&a.addLanguageMenu(z);var u=document.createElement("h2");mxUtils.write(u,e||mxResources.get("create"));u.style.marginTop="0px";u.style.marginBottom="24px";z.appendChild(u);mxUtils.write(z,mxResources.get("filename")+":");var w=document.createElement("input");w.setAttribute("value",b);w.style.width="280px";w.style.marginLeft="10px";w.style.marginBottom="20px";this.init=function(){w.focus();mxClient.IS_GC||mxClient.IS_FF||
-5<=document.documentMode||mxClient.IS_QUIRKS?w.select():document.execCommand("selectAll",!1,null)};z.appendChild(w);null!=q&&null!=t&&"image/"==t.substring(0,6)&&(w.style.width="160px",e=null,"image/svg+xml"==t&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(q),q=e.getElementsByTagName("svg")[0],t=parseInt(q.getAttribute("width")),p=parseInt(q.getAttribute("height")),q.setAttribute("viewBox","0 0 "+t+" "+p),q.setAttribute("width","120px"),q.setAttribute("height","80px")):
-(e=document.createElement("img"),e.setAttribute("src","data:"+t+(p?";base64,":";utf8,")+q)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),z.appendChild(e),m&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){y("_blank")})));mxUtils.br(z);var E=document.createElement("div");E.style.textAlign="center";var D=0;E.style.marginTop=
+typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=V[b];null==c&&(K++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}y()}})}mxEvent.addListener(J,"keypress",function(a){13==a.keyCode&&w()});k=document.createElement("div");k.style.marginTop=b?"4px":"16px";k.style.textAlign="right";k.style.position="absolute";k.style.left="40px";k.style.bottom=
+"24px";k.style.right="40px";D=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});D.className="geBtn";!a.editor.cancelFirst||e&&null==g||k.appendChild(D);b||a.isOffline()||!c||null!=d||e||(x=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),x.className="geBtn",k.appendChild(x));b||"1"==urlParams.embed||e||(b=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,
+"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(J.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),b.className="geBtn",k.appendChild(b));Graph.fileSupport&&p&&(p=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple",
+"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0)});b.click()}),p.className="geBtn",k.appendChild(p));k.appendChild(C);a.editor.cancelFirst||null!=d||e&&null==g||k.appendChild(D);E.appendChild(k);this.container=E},CreateDialog=function(a,b,c,d,e,g,h,l,m,f,k,n,q,u,p){function v(c,d,f,k){function t(){mxEvent.addListener(e,"click",function(){var c=f;if(h){var d=y.value,k=d.lastIndexOf(".");if(0>b.lastIndexOf(".")&&0>k){var c=null!=c?c:x.value,
+t="";c==App.MODE_GOOGLE?t=a.drive.extension:c==App.MODE_GITHUB?t=a.gitHub.extension:c==App.MODE_TRELLO?t=a.trello.extension:c==App.MODE_DROPBOX?t=a.dropbox.extension:c==App.MODE_ONEDRIVE?t=a.oneDrive.extension:c==App.MODE_DEVICE&&(t=".xml");0<=k&&(d=d.substring(0,k));y.value=d+t}}w(f)})}var e=document.createElement("a");e.style.overflow="hidden";var g=document.createElement("img");g.src=c;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom=
+"6px";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(g);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var u=document.createElement("div");e.appendChild(u);mxUtils.write(u,d);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(u,10);var q=new Spinner({lines:12,
+length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});q.spin(e);var p=window.setTimeout(function(){null==a[k]&&(q.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(p),mxUtils.setOpacity(u,100),g.style.visibility="",q.stop(),t())}))}else t();E.appendChild(e);++D==n&&(mxUtils.br(E),D=0)}function w(b){var d=y.value;if(null==b||null!=d&&0<d.length)a.hideDialog(),c(d,
+b)}h=null!=h?h:!0;l=null!=l?l:!0;n=null!=n?n:4;var z=document.createElement("div");null==d&&a.addLanguageMenu(z);var t=document.createElement("h2");mxUtils.write(t,e||mxResources.get("create"));t.style.marginTop="0px";t.style.marginBottom="24px";z.appendChild(t);mxUtils.write(z,mxResources.get("filename")+":");var y=document.createElement("input");y.setAttribute("value",b);y.style.width="280px";y.style.marginLeft="10px";y.style.marginBottom="20px";this.init=function(){y.focus();mxClient.IS_GC||mxClient.IS_FF||
+5<=document.documentMode||mxClient.IS_QUIRKS?y.select():document.execCommand("selectAll",!1,null)};z.appendChild(y);null!=q&&null!=u&&"image/"==u.substring(0,6)&&(y.style.width="160px",e=null,"image/svg+xml"==u&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(q),q=e.getElementsByTagName("svg")[0],u=parseInt(q.getAttribute("width")),p=parseInt(q.getAttribute("height")),q.setAttribute("viewBox","0 0 "+u+" "+p),q.setAttribute("width","120px"),q.setAttribute("height","80px")):
+(e=document.createElement("img"),e.setAttribute("src","data:"+u+(p?";base64,":";utf8,")+q)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),z.appendChild(e),m&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){w("_blank")})));mxUtils.br(z);var E=document.createElement("div");E.style.textAlign="center";var D=0;E.style.marginTop=
 "6px";z.appendChild(E);var x=document.createElement("select");x.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(e,mxResources.get("googleDrive")),x.appendChild(e),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_ONEDRIVE),
 mxUtils.write(e,mxResources.get("oneDrive")),x.appendChild(e),a.mode==App.MODE_ONEDRIVE&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(e,mxResources.get("dropbox")),x.appendChild(e),a.mode==App.MODE_DROPBOX&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
 App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GITHUB),mxUtils.write(e,mxResources.get("github")),x.appendChild(e),v(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_TRELLO),mxUtils.write(e,mxResources.get("trello")),x.appendChild(e),v(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
 if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)e=document.createElement("option"),e.setAttribute("value",App.MODE_DEVICE),mxUtils.write(e,mxResources.get("device")),x.appendChild(e),a.mode!=App.MODE_DEVICE&&l||e.setAttribute("selected","selected"),k&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);l&&isLocalStorage&&"0"!=urlParams.browser&&(l=document.createElement("option"),l.setAttribute("value",App.MODE_BROWSER),
-mxUtils.write(l,mxResources.get("browser")),x.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop="26px";l.style.textAlign="center";null!=g&&(e=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),e.className="geBtn",l.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){null!=d?d():(a.fileLoaded(null),a.hideDialog(),
-window.close(),window.location.href=a.getUrl())});e.className="geBtn";a.editor.cancelFirst&&l.appendChild(e);null==d&&(q=mxUtils.button(mxResources.get("decideLater"),function(){y(null)}),q.className="geBtn",l.appendChild(q));m&&Editor.popupsAllowed&&(m=mxUtils.button(mxResources.get("openInNewWindow"),function(){y("_blank")}),m.className="geBtn",l.appendChild(m));mxClient.IS_IOS||(f=mxUtils.button(f||mxResources.get("create"),function(){y(k?"download":App.MODE_DEVICE)}),f.className="geBtn gePrimaryBtn",
-l.appendChild(f));a.editor.cancelFirst||l.appendChild(e);mxEvent.addListener(w,"keypress",function(b){13==b.keyCode?y(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});z.appendChild(l);this.container=z},PopupDialog=function(a,b,c,d,e){e=null!=e?e:!0;var f=document.createElement("div");f.style.textAlign="left";mxUtils.write(f,mxResources.get("fileOpenLocation"));mxUtils.br(f);mxUtils.br(f);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog();
-null!=d&&d()});h.className="geBtn";h.style.marginBottom="8px";h.style.width="280px";f.appendChild(h);mxUtils.br(f);var l=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=c&&c();a.openLink(b)});l.className="geBtn gePrimaryBtn";l.style.width=h.style.width;f.appendChild(l);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("allowPopups"));this.container=f},ImageDialog=function(a,b,c,d,e,f){f=null!=f?f:!0;var h=a.editor.graph,l=document.createElement("div");
+mxUtils.write(l,mxResources.get("browser")),x.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop="26px";l.style.textAlign="center";null!=f&&(e=mxUtils.button(mxResources.get("help"),function(){a.openLink(f)}),e.className="geBtn",l.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){null!=d?d():(a.fileLoaded(null),a.hideDialog(),
+window.close(),window.location.href=a.getUrl())});e.className="geBtn";a.editor.cancelFirst&&l.appendChild(e);null==d&&(q=mxUtils.button(mxResources.get("decideLater"),function(){w(null)}),q.className="geBtn",l.appendChild(q));m&&Editor.popupsAllowed&&(m=mxUtils.button(mxResources.get("openInNewWindow"),function(){w("_blank")}),m.className="geBtn",l.appendChild(m));mxClient.IS_IOS||(g=mxUtils.button(g||mxResources.get("create"),function(){w(k?"download":App.MODE_DEVICE)}),g.className="geBtn gePrimaryBtn",
+l.appendChild(g));a.editor.cancelFirst||l.appendChild(e);mxEvent.addListener(y,"keypress",function(b){13==b.keyCode?w(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});z.appendChild(l);this.container=z},PopupDialog=function(a,b,c,d,e){e=null!=e?e:!0;var g=document.createElement("div");g.style.textAlign="left";mxUtils.write(g,mxResources.get("fileOpenLocation"));mxUtils.br(g);mxUtils.br(g);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog();
+null!=d&&d()});h.className="geBtn";h.style.marginBottom="8px";h.style.width="280px";g.appendChild(h);mxUtils.br(g);var l=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=c&&c();a.openLink(b)});l.className="geBtn gePrimaryBtn";l.style.width=h.style.width;g.appendChild(l);mxUtils.br(g);mxUtils.br(g);mxUtils.write(g,mxResources.get("allowPopups"));this.container=g},ImageDialog=function(a,b,c,d,e,g){g=null!=g?g:!0;var h=a.editor.graph,l=document.createElement("div");
 mxUtils.write(l,b);b=document.createElement("div");b.className="geTitle";b.style.backgroundColor="transparent";b.style.borderColor="transparent";b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.cursor="default";mxClient.IS_VML||(b.style.paddingRight="20px");var m=document.createElement("input");m.setAttribute("value",c);m.setAttribute("type","text");m.setAttribute("spellcheck","false");m.setAttribute("autocorrect","off");m.setAttribute("autocomplete","off");m.setAttribute("autocapitalize",
 "off");m.style.marginTop="6px";m.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?
-"inline":"inline-block";c.style.top=(mxClient.IS_VML?0:3)+"px";c.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(c,"click",function(){m.value="";m.focus()});b.appendChild(m);b.appendChild(c);l.appendChild(b);var g=function(b,c,g,k){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(e){a.spinner.stop();a.hideDialog();var n=!1===k?1:null!=c&&null!=g?Math.max(c/
-e.width,g/e.height):Math.min(1,Math.min(520/e.width,520/e.height));f&&(b=a.convertDataUri(b));d(b,Math.round(Number(e.width)*n),Math.round(Number(e.height)*n))},function(){a.spinner.stop();d(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),d(b)):(b=a.convertDataUri(b),c=null==c?120:c,g=null==g?100:g,a.hideDialog(),d(b,c,g))},k=function(b,c){if(null!=b){var k=e?null:h.getModel().getGeometry(h.getSelectionCell());null!=k?g(b,k.width,
-k.height,c):g(b,null,null,c)}else a.hideDialog(),d(null)};this.init=function(){m.focus();if(Graph.fileSupport){m.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=l.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));
-mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,b,c,d,g,e,n,f){k(a,f)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var d=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(d)&&
+"inline":"inline-block";c.style.top=(mxClient.IS_VML?0:3)+"px";c.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(c,"click",function(){m.value="";m.focus()});b.appendChild(m);b.appendChild(c);l.appendChild(b);var f=function(b,c,f,k){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(t){a.spinner.stop();a.hideDialog();var e=!1===k?1:null!=c&&null!=f?Math.max(c/
+t.width,f/t.height):Math.min(1,Math.min(520/t.width,520/t.height));g&&(b=a.convertDataUri(b));d(b,Math.round(Number(t.width)*e),Math.round(Number(t.height)*e))},function(){a.spinner.stop();d(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),d(b)):(b=a.convertDataUri(b),c=null==c?120:c,f=null==f?100:f,a.hideDialog(),d(b,c,f))},k=function(b,c){if(null!=b){var k=e?null:h.getModel().getGeometry(h.getSelectionCell());null!=k?f(b,k.width,
+k.height,c):f(b,null,null,c)}else a.hideDialog(),d(null)};this.init=function(){m.focus();if(Graph.fileSupport){m.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=l.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));
+mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,b,c,d,f,e,n,g){k(a,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var d=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(d)&&
 k(decodeURIComponent(d))}b.stopPropagation();b.preventDefault()}),!1)}};c=document.createElement("div");c.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";c.style.textAlign="right";b=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(m.value=
-a.url));m.focus()};if(Graph.fileSupport){var n=document.createElement("input");n.setAttribute("multiple","multiple");n.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(n,"change",function(b){a.importFiles(n.files,0,0,a.maxImageSize,function(a,b,c,d,g,e){k(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var q=mxUtils.button(mxResources.get("open"),function(){n.click()});q.className="geBtn";c.appendChild(q)}}document.createElement("canvas").getContext&&
+a.url));m.focus()};if(Graph.fileSupport){var n=document.createElement("input");n.setAttribute("multiple","multiple");n.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(n,"change",function(b){a.importFiles(n.files,0,0,a.maxImageSize,function(a,b,c,d,f,e){k(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var q=mxUtils.button(mxResources.get("open"),function(){n.click()});q.className="geBtn";c.appendChild(q)}}document.createElement("canvas").getContext&&
 "data:image/"==m.value.substring(0,11)&&"data:image/svg"!=m.value.substring(0,14)&&(q=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,m.value,function(a){m.value=a});a.showDialog(b.container,200,180,!0,!0);b.init()}),q.className="geBtn",c.appendChild(q));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(q=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
 a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)}),q.className="geBtn",c.appendChild(q),null!=a.drive&&"1"==urlParams.photos&&(q=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
 a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),q.className="geBtn",c.appendChild(q)));mxEvent.addListener(m,"keypress",function(a){13==a.keyCode&&k(m.value)});q=mxUtils.button(mxResources.get("apply"),function(){k(m.value)});q.className="geBtn gePrimaryBtn";c.appendChild(q);a.editor.cancelFirst||c.appendChild(b);Graph.fileSupport&&(c.style.marginTop="120px",l.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",l.style.backgroundPosition=
-"center 65%",l.style.backgroundRepeat="no-repeat",b=document.createElement("div"),b.style.position="absolute",b.style.width="420px",b.style.top="58%",b.style.textAlign="center",b.style.fontSize="18px",b.style.color="#a0c3ff",mxUtils.write(b,mxResources.get("dragImagesHere")),l.appendChild(b));l.appendChild(c);this.container=l},LinkDialog=function(a,b,c,d,e){function f(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px";
-b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);y.appendChild(c)}var h=document.createElement("div");mxUtils.write(h,mxResources.get("editLink")+":");var l=document.createElement("div");l.className="geTitle";l.style.backgroundColor="transparent";l.style.borderColor="transparent";l.style.whiteSpace="nowrap";l.style.textOverflow="clip";l.style.cursor="default";mxClient.IS_VML||(l.style.paddingRight="20px");var m=document.createElement("input");
-m.setAttribute("placeholder",mxResources.get("dragUrlsHere"));m.setAttribute("type","text");m.style.marginTop="6px";m.style.width="400px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";var g=document.createElement("div");g.setAttribute("title",mxResources.get("reset"));g.style.position="relative";g.style.left="-16px";g.style.width="12px";g.style.height="14px";g.style.cursor="pointer";
-g.style.display=mxClient.IS_VML?"inline":"inline-block";g.style.top=(mxClient.IS_VML?0:3)+"px";g.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(g,"click",function(){m.value="";m.focus()});var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name","current-linkdialog");var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-bottom:8px;";
-n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","current-linkdialog");var q=document.createElement("select");q.style.width="380px";if(e&&null!=a.pages){null!=b&&a.editor.graph.isPageLink(b)?(n.setAttribute("checked","checked"),n.defaultChecked=!0):(m.setAttribute("value",b),k.setAttribute("checked","checked"),k.defaultChecked=!0);m.style.width="380px";l.appendChild(k);l.appendChild(m);l.appendChild(g);mxUtils.br(l);l.appendChild(n);e=!1;for(g=0;g<a.pages.length;g++){var t=
-document.createElement("option");mxUtils.write(t,a.pages[g].getName()||mxResources.get("pageWithNumber",[g+1]));t.setAttribute("value","data:page/id,"+a.pages[g].getId());b==t.getAttribute("value")&&(t.setAttribute("selected","selected"),e=!0);q.appendChild(t)}if(!e&&n.checked){var p=document.createElement("option");mxUtils.write(p,mxResources.get("pageNotFound"));p.setAttribute("disabled","disabled");p.setAttribute("selected","selected");p.setAttribute("value","pageNotFound");q.appendChild(p);mxEvent.addListener(q,
-"change",function(){null==p.parentNode||p.selected||p.parentNode.removeChild(p)})}l.appendChild(q)}else m.setAttribute("value",b),l.appendChild(m),l.appendChild(g);h.appendChild(l);var v=mxUtils.button(c,function(){a.hideDialog();d(n.checked?"pageNotFound"!==q.value?q.value:b:m.value,LinkDialog.selectedDocs)});v.style.verticalAlign="middle";v.className="geBtn gePrimaryBtn";this.init=function(){n.checked?q.focus():(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
+"center 65%",l.style.backgroundRepeat="no-repeat",b=document.createElement("div"),b.style.position="absolute",b.style.width="420px",b.style.top="58%",b.style.textAlign="center",b.style.fontSize="18px",b.style.color="#a0c3ff",mxUtils.write(b,mxResources.get("dragImagesHere")),l.appendChild(b));l.appendChild(c);this.container=l},LinkDialog=function(a,b,c,d,e){function g(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px";
+b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);w.appendChild(c)}var h=document.createElement("div");mxUtils.write(h,mxResources.get("editLink")+":");var l=document.createElement("div");l.className="geTitle";l.style.backgroundColor="transparent";l.style.borderColor="transparent";l.style.whiteSpace="nowrap";l.style.textOverflow="clip";l.style.cursor="default";mxClient.IS_VML||(l.style.paddingRight="20px");var m=document.createElement("input");
+m.setAttribute("placeholder",mxResources.get("dragUrlsHere"));m.setAttribute("type","text");m.style.marginTop="6px";m.style.width="400px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";var f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer";
+f.style.display=mxClient.IS_VML?"inline":"inline-block";f.style.top=(mxClient.IS_VML?0:3)+"px";f.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){m.value="";m.focus()});var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name","current-linkdialog");var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-bottom:8px;";
+n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","current-linkdialog");var q=document.createElement("select");q.style.width="380px";if(e&&null!=a.pages){null!=b&&a.editor.graph.isPageLink(b)?(n.setAttribute("checked","checked"),n.defaultChecked=!0):(m.setAttribute("value",b),k.setAttribute("checked","checked"),k.defaultChecked=!0);m.style.width="380px";l.appendChild(k);l.appendChild(m);l.appendChild(f);mxUtils.br(l);l.appendChild(n);e=!1;for(f=0;f<a.pages.length;f++){var u=
+document.createElement("option");mxUtils.write(u,a.pages[f].getName()||mxResources.get("pageWithNumber",[f+1]));u.setAttribute("value","data:page/id,"+a.pages[f].getId());b==u.getAttribute("value")&&(u.setAttribute("selected","selected"),e=!0);q.appendChild(u)}if(!e&&n.checked){var p=document.createElement("option");mxUtils.write(p,mxResources.get("pageNotFound"));p.setAttribute("disabled","disabled");p.setAttribute("selected","selected");p.setAttribute("value","pageNotFound");q.appendChild(p);mxEvent.addListener(q,
+"change",function(){null==p.parentNode||p.selected||p.parentNode.removeChild(p)})}l.appendChild(q)}else m.setAttribute("value",b),l.appendChild(m),l.appendChild(f);h.appendChild(l);var v=mxUtils.button(c,function(){a.hideDialog();d(n.checked?"pageNotFound"!==q.value?q.value:b:m.value,LinkDialog.selectedDocs)});v.style.verticalAlign="middle";v.className="geBtn gePrimaryBtn";this.init=function(){n.checked?q.focus():(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
 m.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(q,"focus",function(){k.removeAttribute("checked");n.setAttribute("checked","checked");n.checked=!0});mxEvent.addListener(m,"focus",function(){n.removeAttribute("checked");k.setAttribute("checked","checked");k.checked=!0});if(Graph.fileSupport){var b=h.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",
-mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(m.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),k.setAttribute("checked","checked"),k.checked=!0,v.click());a.stopPropagation();a.preventDefault()}),!1)}};var y=document.createElement("div");
-y.style.marginTop="20px";y.style.textAlign="right";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.style.verticalAlign="middle";c.className="geBtn";a.editor.cancelFirst&&y.appendChild(c);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b=
-"https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);m.value=b;m.focus()}else LinkDialog.selectedDocs=null;m.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&f(IMAGE_PATH+"/google-drive-logo.svg",
-mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),g=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),
-b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(g).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&f(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){m.value=a[0].link;m.focus()}})});null!=a.oneDrive&&f(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,b){m.value=b.value[0].webUrl;
-m.focus()})});null!=a.gitHub&&f(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],d=a[2];a=a.slice(3,a.length).join("/");m.value="https://github.com/"+b+"/"+c+"/blob/"+d+"/"+a;m.focus()}})});mxEvent.addListener(m,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),d(n.checked?q.value:m.value,LinkDialog.selectedDocs))});y.appendChild(v);a.editor.cancelFirst||y.appendChild(c);h.appendChild(y);this.container=
+mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(m.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),k.setAttribute("checked","checked"),k.checked=!0,v.click());a.stopPropagation();a.preventDefault()}),!1)}};var w=document.createElement("div");
+w.style.marginTop="20px";w.style.textAlign="right";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.style.verticalAlign="middle";c.className="geBtn";a.editor.cancelFirst&&w.appendChild(c);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b=
+"https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);m.value=b;m.focus()}else LinkDialog.selectedDocs=null;m.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&g(IMAGE_PATH+"/google-drive-logo.svg",
+mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),f=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),
+b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(f).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
+a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&g(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){m.value=a[0].link;m.focus()}})});null!=a.oneDrive&&g(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,b){m.value=b.value[0].webUrl;
+m.focus()})});null!=a.gitHub&&g(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],d=a[2];a=a.slice(3,a.length).join("/");m.value="https://github.com/"+b+"/"+c+"/blob/"+d+"/"+a;m.focus()}})});mxEvent.addListener(m,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),d(n.checked?q.value:m.value,LinkDialog.selectedDocs))});w.appendChild(v);a.editor.cancelFirst||w.appendChild(c);h.appendChild(w);this.container=
 h},AboutDialog=function(a){var b=document.createElement("div");b.style.marginTop="6px";b.setAttribute("align","center");var c=document.createElement("img");c.style.border="0px";mxClient.IS_SVG?(c.setAttribute("width","164"),c.setAttribute("height","221"),c.style.width="164px",c.style.height="221px",c.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(c.setAttribute("width","176"),c.setAttribute("height","219"),c.style.width="170px",c.style.height="219px",c.setAttribute("src",IMAGE_PATH+
 "/logo-flat.png"));b.appendChild(c);mxUtils.br(b);c=document.createElement("small");c.innerHTML="v "+EditorUi.VERSION;c.style.color="#505050";b.appendChild(c);mxUtils.br(b);mxUtils.br(b);c=document.createElement("small");c.style.color="#505050";c.innerHTML='&copy; 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';b.appendChild(c);mxEvent.addListener(b,"click",function(b){"A"!=mxEvent.getSource(b).nodeName&&a.hideDialog()});this.container=
 b},FeedbackDialog=function(a){var b=document.createElement("div"),c=document.createElement("div");mxUtils.write(c,mxResources.get("sendYourFeedbackToDrawIo"));c.style.fontSize="18px";c.style.marginBottom="18px";b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");b.appendChild(c);var d=document.createElement("input");d.setAttribute("type","text");d.style.marginTop="6px";d.style.width="600px";var e=mxUtils.button(mxResources.get("sendMessage"),
 function(){var b=(h.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(d.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+m.value+b),
-function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});e.className="geBtn gePrimaryBtn";e.setAttribute("disabled","disabled");var f=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(d,"change",
-function(){0<d.value.length&&0<f.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});mxEvent.addListener(d,"keyup",function(){0<d.value.length&&f.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});b.appendChild(d);this.init=function(){d.focus()};var h=document.createElement("input");h.setAttribute("type","checkbox");h.setAttribute("checked","checked");h.defaultChecked=!0;c=document.createElement("p");c.style.marginTop="14px";c.appendChild(h);
+function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});e.className="geBtn gePrimaryBtn";e.setAttribute("disabled","disabled");var g=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(d,"change",
+function(){0<d.value.length&&0<g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});mxEvent.addListener(d,"keyup",function(){0<d.value.length&&g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});b.appendChild(d);this.init=function(){d.focus()};var h=document.createElement("input");h.setAttribute("type","checkbox");h.setAttribute("checked","checked");h.defaultChecked=!0;c=document.createElement("p");c.style.marginTop="14px";c.appendChild(h);
 var l=document.createElement("span");mxUtils.write(l," "+mxResources.get("includeCopyOfMyDiagram"));c.appendChild(l);mxEvent.addListener(l,"click",function(a){h.checked=!h.checked;mxEvent.consume(a)});b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("feedback"));b.appendChild(c);var m=document.createElement("textarea");m.style.resize="none";m.style.width="600px";m.style.height="140px";m.style.marginTop="6px";m.setAttribute("placeholder",mxResources.get("commentsNotes"));
 b.appendChild(m);c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right";l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst?(c.appendChild(l),c.appendChild(e)):(c.appendChild(e),c.appendChild(l));b.appendChild(c);this.container=b};FeedbackDialog.maxAttachmentSize=1E6;
-var RevisionDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("revisionHistory"));d.appendChild(e);var f=document.createElement("div");f.style.position="absolute";f.style.overflow="auto";f.style.width="170px";f.style.height="378px";d.appendChild(f);var h=document.createElement("div");h.style.position="absolute";h.style.border="1px solid lightGray";h.style.left="199px";h.style.width="470px";h.style.height=
-"376px";h.style.overflow="hidden";mxEvent.disableContextMenu(h);d.appendChild(h);var l=new Graph(h);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;var m=0,g=null,k=0,n=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a&&null!=g&&null!=g[k]?g[k].getAttribute("name"):"pagenumber"==a?k+1:n.apply(this,arguments)};l.getLinkForCell=function(){return null};Editor.MathJaxRender&&
-l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var q=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),t=a.getCurrentFile(),p=null,v=null,y=null,z=null,u=mxUtils.button("",function(){null!=y&&l.zoomIn()});u.className="geSprite geSprite-zoomin";u.setAttribute("title",mxResources.get("zoomIn"));
-u.style.outline="none";u.style.border="none";u.style.margin="2px";u.setAttribute("disabled","disabled");mxUtils.setOpacity(u,20);var w=mxUtils.button("",function(){null!=y&&l.zoomOut()});w.className="geSprite geSprite-zoomout";w.setAttribute("title",mxResources.get("zoomOut"));w.style.outline="none";w.style.border="none";w.style.margin="2px";w.setAttribute("disabled","disabled");mxUtils.setOpacity(w,20);var E=mxUtils.button("",function(){null!=y&&(l.maxFitScale=8,l.fit(8),l.center())});E.className=
-"geSprite geSprite-fit";E.setAttribute("title",mxResources.get("fit"));E.style.outline="none";E.style.border="none";E.style.margin="2px";E.setAttribute("disabled","disabled");mxUtils.setOpacity(E,20);var D=mxUtils.button("",function(){null!=y&&(l.zoomActual(),l.center())});D.className="geSprite geSprite-actualsize";D.setAttribute("title",mxResources.get("actualSize"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var x=
-document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var F=mxUtils.button(mxResources.get("download"),function(){if(null!=y){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(y.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):
-(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});F.className="geBtn";F.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=y&&null!=z&&a.confirm(mxResources.get("areYouSure"),function(){null!=c?c(z):a.spinner.spin(document.body,mxResources.get("restoring"))&&t.save(!0,function(b){a.spinner.stop();
-a.replaceFileData(z);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});A.className="geBtn";A.setAttribute("disabled","disabled");var B=document.createElement("select");B.setAttribute("disabled","disabled");B.style.maxWidth="80px";B.style.position="relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";var J=null;mxEvent.addListener(B,"change",function(a){null!=
-J&&(J(a),mxEvent.consume(a))});var C=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=y&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(y.documentElement)),window.openWindow(a.getUrl()))});C.className="geBtn";C.setAttribute("disabled","disabled");null!=c&&(C.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=v&&a.openLink(v.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
-"disabled");null!=c&&(L.style.display="none",A.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var H=document.createElement("div");H.className="geToolbarContainer";H.style.backgroundColor="transparent";H.style.padding="2px";H.style.border="none";H.style.left="199px";H.style.top="442px";var G=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border=
-"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(m=mxUtils.indexOf(a.pages,a.currentPage));for(var N=b.length-1;0<=N;N--){var S=function(c){var d=new Date(c.modifiedDate),e=null;if(0<=d.getTime()){var n=function(b){q.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){var f=function(b){null!=b&&(b=
-p(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},p=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};B.style.display="none";B.innerHTML="";y=c;z=b;g=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");g=[];for(b=0;b<c.length;b++)g.push(c[b]);
-k=Math.min(m,g.length-1);0<g.length&&f(g[k]);if(1<g.length)for(B.removeAttribute("disabled"),B.style.display="",b=0;b<g.length;b++)c=document.createElement("option"),mxUtils.write(c,g[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==k&&c.setAttribute("selected","selected"),B.appendChild(c);J=function(){k=m=parseInt(B.value);f(g[m])}}else p(n);x.innerHTML="";mxUtils.write(x,d.toLocaleDateString()+" "+d.toLocaleTimeString());x.setAttribute("title",e.getAttribute("title"));
-u.removeAttribute("disabled");w.removeAttribute("disabled");E.removeAttribute("disabled");D.removeAttribute("disabled");null!=t&&t.isRestricted()||(a.editor.graph.isEnabled()&&A.removeAttribute("disabled"),F.removeAttribute("disabled"),L.removeAttribute("disabled"),C.removeAttribute("disabled"));mxUtils.setOpacity(u,60);mxUtils.setOpacity(w,60);mxUtils.setOpacity(E,60);mxUtils.setOpacity(D,60)}else B.style.display="none",B.innerHTML="",x.innerHTML="",mxUtils.write(x,mxResources.get("errorLoadingFile"))},
-e=document.createElement("tr");e.style.borderBottom="1px solid lightGray";e.style.fontSize="12px";e.style.cursor="pointer";var f=document.createElement("td");f.style.padding="6px";f.style.whiteSpace="nowrap";c==b[b.length-1]?mxUtils.write(f,mxResources.get("current")):d.toDateString()===Z?mxUtils.write(f,d.toLocaleTimeString()):mxUtils.write(f,d.toLocaleDateString()+" "+d.toLocaleTimeString());e.appendChild(f);e.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+
-(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(q.stop(),null!=p&&(p.style.backgroundColor=""),v=c,p=e,p.style.backgroundColor="#ebf2f9",z=y=null,x.removeAttribute("title"),x.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",l.getModel().clear(),A.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"),w.setAttribute("disabled","disabled"),D.setAttribute("disabled",
-"disabled"),E.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),mxUtils.setOpacity(u,20),mxUtils.setOpacity(w,20),mxUtils.setOpacity(E,20),mxUtils.setOpacity(D,20),q.spin(h),c.getXml(function(a){v==c&&n(a)},function(a){q.stop();B.style.display="none";B.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(e,"dblclick",function(a){L.click();
-window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(e)}return e}(b[N]);null!=S&&N==b.length-1&&(G=S)}M.appendChild(X);f.appendChild(M)}else null==t||null==a.drive&&t.constructor==window.DriveFile||null==a.dropbox&&t.constructor==window.DropboxFile?(h.style.display="none",H.style.display="none",mxUtils.write(f,mxResources.get("notAvailable"))):(h.style.display="none",H.style.display="none",mxUtils.write(f,
-mxResources.get("noRevisions")));this.init=function(){null!=G&&G.click()};f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.className="geBtn";H.appendChild(B);H.appendChild(u);H.appendChild(w);H.appendChild(D);H.appendChild(E);a.editor.cancelFirst?(e.appendChild(f),e.appendChild(F),e.appendChild(C),e.appendChild(A),e.appendChild(L)):(e.appendChild(F),e.appendChild(C),e.appendChild(A),e.appendChild(L),e.appendChild(f));d.appendChild(e);d.appendChild(H);d.appendChild(x);this.container=
-d},DraftDialog=function(a,b,c,d,e,f,h,l){var m=document.createElement("div"),g=document.createElement("div");g.style.marginTop="0px";g.style.whiteSpace="nowrap";g.style.overflow="auto";mxUtils.write(g,b);m.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.marginTop="10px";k.style.width="640px";k.style.top="46px";k.style.bottom="74px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);m.appendChild(k);var n=new Graph(k);
-n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;b=mxUtils.parseXml(c);var q=a.editor.extractGraphModel(b.documentElement,!0),t=0,p=null,v=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=p&&null!=p[t]?p[t].getAttribute("name"):"pagenumber"==a?t+1:v.apply(this,arguments)};n.getLinkForCell=function(){return null};b=mxUtils.button("",function(){n.zoomIn()});b.className=
-"geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);c=mxUtils.button("",function(){n.zoomOut()});c.className="geSprite geSprite-zoomout";c.setAttribute("title",mxResources.get("zoomOut"));c.style.outline="none";c.style.border="none";c.style.margin="2px";mxUtils.setOpacity(c,60);g=mxUtils.button("",function(){n.maxFitScale=8;n.fit(8);n.center()});g.className="geSprite geSprite-fit";g.setAttribute("title",
-mxResources.get("fit"));g.style.outline="none";g.style.border="none";g.style.margin="2px";mxUtils.setOpacity(g,60);var y=mxUtils.button("",function(){n.zoomActual();n.center()});y.className="geSprite geSprite-actualsize";y.setAttribute("title",mxResources.get("actualSize"));y.style.outline="none";y.style.border="none";y.style.margin="2px";mxUtils.setOpacity(y,60);e=mxUtils.button(h||mxResources.get("discard"),e);e.className="geBtn";var z=document.createElement("select");z.style.maxWidth="80px";z.style.position=
-"relative";z.style.top="-2px";z.style.verticalAlign="bottom";z.style.marginRight="6px";z.style.display="none";d=mxUtils.button(f||mxResources.get("edit"),d);d.className="geBtn gePrimaryBtn";f=document.createElement("div");f.style.position="absolute";f.style.bottom="30px";f.style.width="640px";f.style.textAlign="right";h=document.createElement("div");h.className="geToolbarContainer";h.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
-this.init=function(){function b(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center()}}function c(c){null!=c&&(c=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(z,"change",function(a){t=parseInt(z.value);c(p[t]);mxEvent.consume(a)});if("mxfile"==q.nodeName){var d=q.getElementsByTagName("diagram");
-p=[];for(var g=0;g<d.length;g++)p.push(d[g]);0<p.length&&c(p[t]);if(1<p.length)for(z.style.display="",g=0;g<p.length;g++)d=document.createElement("option"),mxUtils.write(d,p[g].getAttribute("name")||mxResources.get("pageWithNumber",[g+1])),d.setAttribute("value",g),g==t&&d.setAttribute("selected","selected"),z.appendChild(d)}else b(q)};h.appendChild(z);h.appendChild(b);h.appendChild(c);h.appendChild(y);h.appendChild(g);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
-"geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(f.appendChild(b),null!=l&&f.appendChild(l),f.appendChild(e),f.appendChild(d)):(f.appendChild(d),f.appendChild(e),null!=l&&f.appendChild(l),f.appendChild(b));m.appendChild(f);m.appendChild(h);this.container=m},FindWindow=function(a,b,c,d,e){function f(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var d=0;d<b.length;d++)if("label"!=b[d].nodeName){var g=
-mxUtils.trim(b[d].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&g.substring(0,c.length)===c||null!=a&&a.test(g))return!0}}return!1}function h(){var a=m.model.getDescendants(m.model.getRoot()),b=q.value.toLowerCase(),c=t.checked?new RegExp(b):null,d=null;g!=b&&(g=b,k=null);var e=null==k;if(0<b.length)for(var n=0;n<a.length;n++){var h=m.view.getState(a[n]);if(null!=h&&null!=h.cell.value&&(e||null==d)&&(m.model.isVertex(h.cell)||m.model.isEdge(h.cell))&&(m.isHtmlLabel(h.cell)?
-(p.innerHTML=m.getLabel(h.cell),label=mxUtils.extractTextWithWhitespace([p])):label=m.getLabel(h.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)===b||f(c,h.cell,b))||null!=c&&(c.test(label)||f(c,h.cell,b))))if(e){d=h;break}else null==d&&(d=h);e=e||h==k}null!=d?(k=d,m.scrollCellToVisible(k.cell),m.isEnabled()?m.setSelectionCell(k.cell):m.highlightCell(k.cell)):m.isEnabled()&&m.clearSelection();return 0==b.length||null!=d}
-var l=a.actions.get("find"),m=a.editor.graph,g=null,k=null,n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var q=document.createElement("input");q.setAttribute("placeholder",mxResources.get("find"));q.setAttribute("type","text");q.style.marginTop="4px";q.style.marginBottom="6px";q.style.width="200px";q.style.fontSize="12px";q.style.borderRadius="4px";q.style.padding="6px";n.appendChild(q);mxUtils.br(n);var t=document.createElement("input");
-t.setAttribute("type","checkbox");t.style.marginRight="4px";n.appendChild(t);mxUtils.write(n,mxResources.get("regularExpression"));var p=document.createElement("div");mxUtils.br(n);var v=mxUtils.button(mxResources.get("reset"),function(){q.value="";q.style.backgroundColor="";g=k=null;q.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";n.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{q.style.backgroundColor=
-h()?"":"#ffcfcf"}catch(y){a.handleError(y)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(q,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(g!=q.value.toLowerCase()||13==a.keyCode)try{q.style.backgroundColor=h()?"":"#ffcfcf"}catch(z){q.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&&
+var RevisionDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("revisionHistory"));d.appendChild(e);var g=document.createElement("div");g.style.position="absolute";g.style.overflow="auto";g.style.width="170px";g.style.height="378px";d.appendChild(g);var h=document.createElement("div");h.style.position="absolute";h.style.border="1px solid lightGray";h.style.left="199px";h.style.width="470px";h.style.height=
+"376px";h.style.overflow="hidden";mxEvent.disableContextMenu(h);d.appendChild(h);var l=new Graph(h);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;var m=0,f=null,k=0,n=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a&&null!=f&&null!=f[k]?f[k].getAttribute("name"):"pagenumber"==a?k+1:n.apply(this,arguments)};l.getLinkForCell=function(){return null};Editor.MathJaxRender&&
+l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var q=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),p=null,v=null,w=null,z=null,t=mxUtils.button("",function(){null!=w&&l.zoomIn()});t.className="geSprite geSprite-zoomin";t.setAttribute("title",mxResources.get("zoomIn"));
+t.style.outline="none";t.style.border="none";t.style.margin="2px";t.setAttribute("disabled","disabled");mxUtils.setOpacity(t,20);var y=mxUtils.button("",function(){null!=w&&l.zoomOut()});y.className="geSprite geSprite-zoomout";y.setAttribute("title",mxResources.get("zoomOut"));y.style.outline="none";y.style.border="none";y.style.margin="2px";y.setAttribute("disabled","disabled");mxUtils.setOpacity(y,20);var E=mxUtils.button("",function(){null!=w&&(l.maxFitScale=8,l.fit(8),l.center())});E.className=
+"geSprite geSprite-fit";E.setAttribute("title",mxResources.get("fit"));E.style.outline="none";E.style.border="none";E.style.margin="2px";E.setAttribute("disabled","disabled");mxUtils.setOpacity(E,20);var D=mxUtils.button("",function(){null!=w&&(l.zoomActual(),l.center())});D.className="geSprite geSprite-actualsize";D.setAttribute("title",mxResources.get("actualSize"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var x=
+document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var J=mxUtils.button(mxResources.get("download"),function(){if(null!=w){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(w.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):
+(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});J.className="geBtn";J.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=w&&null!=z&&a.confirm(mxResources.get("areYouSure"),function(){null!=c?c(z):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop();
+a.replaceFileData(z);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});A.className="geBtn";A.setAttribute("disabled","disabled");var C=document.createElement("select");C.setAttribute("disabled","disabled");C.style.maxWidth="80px";C.style.position="relative";C.style.top="-2px";C.style.verticalAlign="bottom";C.style.marginRight="6px";C.style.display="none";var G=null;mxEvent.addListener(C,"change",function(a){null!=
+G&&(G(a),mxEvent.consume(a))});var B=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=w&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(w.documentElement)),window.openWindow(a.getUrl()))});B.className="geBtn";B.setAttribute("disabled","disabled");null!=c&&(B.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=v&&a.openLink(v.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
+"disabled");null!=c&&(L.style.display="none",A.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var H=document.createElement("div");H.className="geToolbarContainer";H.style.backgroundColor="transparent";H.style.padding="2px";H.style.border="none";H.style.left="199px";H.style.top="442px";var F=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border=
+"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(m=mxUtils.indexOf(a.pages,a.currentPage));for(var N=b.length-1;0<=N;N--){var S=function(c){var d=new Date(c.modifiedDate),e=null;if(0<=d.getTime()){var n=function(b){q.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){var g=function(b){null!=b&&(b=
+p(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},p=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};C.style.display="none";C.innerHTML="";w=c;z=b;f=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");f=[];for(b=0;b<c.length;b++)f.push(c[b]);
+k=Math.min(m,f.length-1);0<f.length&&g(f[k]);if(1<f.length)for(C.removeAttribute("disabled"),C.style.display="",b=0;b<f.length;b++)c=document.createElement("option"),mxUtils.write(c,f[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==k&&c.setAttribute("selected","selected"),C.appendChild(c);G=function(){k=m=parseInt(C.value);g(f[m])}}else p(n);x.innerHTML="";mxUtils.write(x,d.toLocaleDateString()+" "+d.toLocaleTimeString());x.setAttribute("title",e.getAttribute("title"));
+t.removeAttribute("disabled");y.removeAttribute("disabled");E.removeAttribute("disabled");D.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&A.removeAttribute("disabled"),J.removeAttribute("disabled"),L.removeAttribute("disabled"),B.removeAttribute("disabled"));mxUtils.setOpacity(t,60);mxUtils.setOpacity(y,60);mxUtils.setOpacity(E,60);mxUtils.setOpacity(D,60)}else C.style.display="none",C.innerHTML="",x.innerHTML="",mxUtils.write(x,mxResources.get("errorLoadingFile"))},
+e=document.createElement("tr");e.style.borderBottom="1px solid lightGray";e.style.fontSize="12px";e.style.cursor="pointer";var g=document.createElement("td");g.style.padding="6px";g.style.whiteSpace="nowrap";c==b[b.length-1]?mxUtils.write(g,mxResources.get("current")):d.toDateString()===Z?mxUtils.write(g,d.toLocaleTimeString()):mxUtils.write(g,d.toLocaleDateString()+" "+d.toLocaleTimeString());e.appendChild(g);e.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+
+(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(q.stop(),null!=p&&(p.style.backgroundColor=""),v=c,p=e,p.style.backgroundColor="#ebf2f9",z=w=null,x.removeAttribute("title"),x.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",l.getModel().clear(),A.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled"),y.setAttribute("disabled","disabled"),D.setAttribute("disabled",
+"disabled"),E.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),mxUtils.setOpacity(t,20),mxUtils.setOpacity(y,20),mxUtils.setOpacity(E,20),mxUtils.setOpacity(D,20),q.spin(h),c.getXml(function(a){v==c&&n(a)},function(a){q.stop();C.style.display="none";C.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(e,"dblclick",function(a){L.click();
+window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(e)}return e}(b[N]);null!=S&&N==b.length-1&&(F=S)}M.appendChild(X);g.appendChild(M)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(h.style.display="none",H.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(h.style.display="none",H.style.display="none",mxUtils.write(g,
+mxResources.get("noRevisions")));this.init=function(){null!=F&&F.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";H.appendChild(C);H.appendChild(t);H.appendChild(y);H.appendChild(D);H.appendChild(E);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(J),e.appendChild(B),e.appendChild(A),e.appendChild(L)):(e.appendChild(J),e.appendChild(B),e.appendChild(A),e.appendChild(L),e.appendChild(g));d.appendChild(e);d.appendChild(H);d.appendChild(x);this.container=
+d},DraftDialog=function(a,b,c,d,e,g,h,l){var m=document.createElement("div"),f=document.createElement("div");f.style.marginTop="0px";f.style.whiteSpace="nowrap";f.style.overflow="auto";mxUtils.write(f,b);m.appendChild(f);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.marginTop="10px";k.style.width="640px";k.style.top="46px";k.style.bottom="74px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);m.appendChild(k);var n=new Graph(k);
+n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;b=mxUtils.parseXml(c);var q=a.editor.extractGraphModel(b.documentElement,!0),u=0,p=null,v=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=p&&null!=p[u]?p[u].getAttribute("name"):"pagenumber"==a?u+1:v.apply(this,arguments)};n.getLinkForCell=function(){return null};b=mxUtils.button("",function(){n.zoomIn()});b.className=
+"geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);c=mxUtils.button("",function(){n.zoomOut()});c.className="geSprite geSprite-zoomout";c.setAttribute("title",mxResources.get("zoomOut"));c.style.outline="none";c.style.border="none";c.style.margin="2px";mxUtils.setOpacity(c,60);f=mxUtils.button("",function(){n.maxFitScale=8;n.fit(8);n.center()});f.className="geSprite geSprite-fit";f.setAttribute("title",
+mxResources.get("fit"));f.style.outline="none";f.style.border="none";f.style.margin="2px";mxUtils.setOpacity(f,60);var w=mxUtils.button("",function(){n.zoomActual();n.center()});w.className="geSprite geSprite-actualsize";w.setAttribute("title",mxResources.get("actualSize"));w.style.outline="none";w.style.border="none";w.style.margin="2px";mxUtils.setOpacity(w,60);e=mxUtils.button(h||mxResources.get("discard"),e);e.className="geBtn";var z=document.createElement("select");z.style.maxWidth="80px";z.style.position=
+"relative";z.style.top="-2px";z.style.verticalAlign="bottom";z.style.marginRight="6px";z.style.display="none";d=mxUtils.button(g||mxResources.get("edit"),d);d.className="geBtn gePrimaryBtn";g=document.createElement("div");g.style.position="absolute";g.style.bottom="30px";g.style.width="640px";g.style.textAlign="right";h=document.createElement("div");h.className="geToolbarContainer";h.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
+this.init=function(){function b(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center()}}function c(c){null!=c&&(c=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(z,"change",function(a){u=parseInt(z.value);c(p[u]);mxEvent.consume(a)});if("mxfile"==q.nodeName){var d=q.getElementsByTagName("diagram");
+p=[];for(var f=0;f<d.length;f++)p.push(d[f]);0<p.length&&c(p[u]);if(1<p.length)for(z.style.display="",f=0;f<p.length;f++)d=document.createElement("option"),mxUtils.write(d,p[f].getAttribute("name")||mxResources.get("pageWithNumber",[f+1])),d.setAttribute("value",f),f==u&&d.setAttribute("selected","selected"),z.appendChild(d)}else b(q)};h.appendChild(z);h.appendChild(b);h.appendChild(c);h.appendChild(w);h.appendChild(f);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
+"geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(g.appendChild(b),null!=l&&g.appendChild(l),g.appendChild(e),g.appendChild(d)):(g.appendChild(d),g.appendChild(e),null!=l&&g.appendChild(l),g.appendChild(b));m.appendChild(g);m.appendChild(h);this.container=m},FindWindow=function(a,b,c,d,e){function g(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var d=0;d<b.length;d++)if("label"!=b[d].nodeName){var f=
+mxUtils.trim(b[d].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&f.substring(0,c.length)===c||null!=a&&a.test(f))return!0}}return!1}function h(){var a=m.model.getDescendants(m.model.getRoot()),b=q.value.toLowerCase(),c=u.checked?new RegExp(b):null,d=null;f!=b&&(f=b,k=null);var e=null==k;if(0<b.length)for(var n=0;n<a.length;n++){var h=m.view.getState(a[n]);if(null!=h&&null!=h.cell.value&&(e||null==d)&&(m.model.isVertex(h.cell)||m.model.isEdge(h.cell))&&(m.isHtmlLabel(h.cell)?
+(p.innerHTML=m.getLabel(h.cell),label=mxUtils.extractTextWithWhitespace([p])):label=m.getLabel(h.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)===b||g(c,h.cell,b))||null!=c&&(c.test(label)||g(c,h.cell,b))))if(e){d=h;break}else null==d&&(d=h);e=e||h==k}null!=d?(k=d,m.scrollCellToVisible(k.cell),m.isEnabled()?m.setSelectionCell(k.cell):m.highlightCell(k.cell)):m.isEnabled()&&m.clearSelection();return 0==b.length||null!=d}
+var l=a.actions.get("find"),m=a.editor.graph,f=null,k=null,n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var q=document.createElement("input");q.setAttribute("placeholder",mxResources.get("find"));q.setAttribute("type","text");q.style.marginTop="4px";q.style.marginBottom="6px";q.style.width="200px";q.style.fontSize="12px";q.style.borderRadius="4px";q.style.padding="6px";n.appendChild(q);mxUtils.br(n);var u=document.createElement("input");
+u.setAttribute("type","checkbox");u.style.marginRight="4px";n.appendChild(u);mxUtils.write(n,mxResources.get("regularExpression"));var p=document.createElement("div");mxUtils.br(n);var v=mxUtils.button(mxResources.get("reset"),function(){q.value="";q.style.backgroundColor="";f=k=null;q.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";n.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{q.style.backgroundColor=
+h()?"":"#ffcfcf"}catch(w){a.handleError(w)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(q,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(f!=q.value.toLowerCase()||13==a.keyCode)try{q.style.backgroundColor=h()?"":"#ffcfcf"}catch(z){q.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&&
 a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(l.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),n,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)):m.container.focus()}))},
-TagsWindow=function(a,b,c,d,e){function f(a){a=null!=a?a:l.model.getDescendants(l.model.getRoot());for(var b=k.value.split(" "),c=[],d=0;d<a.length;d++)if(l.model.isVertex(a[d])||l.model.isEdge(a[d])){var g=null!=a[d].value&&"object"==typeof a[d].value?mxUtils.trim(a[d].value.getAttribute(m)||""):"",e=!0;if(0<g.length)for(var g=g.toLowerCase().split(" "),n=0;n<b.length&&e;n++)var f=mxUtils.trim(b[n]).toLowerCase(),e=e&&(0==f.length||0<=mxUtils.indexOf(g,f));else e=0==mxUtils.trim(k.value).length;
-e&&c.push(a[d])}return c}function h(a,b){l.model.beginUpdate();try{for(var c=0;c<a.length;c++)l.model.setVisible(a[c],b)}finally{l.model.endUpdate()}}var l=a.editor.graph,m="tags",g=document.createElement("div");g.style.userSelect="none";g.style.overflow="hidden";g.style.padding="10px";g.style.height="100%";var k=document.createElement("input");k.setAttribute("placeholder",mxResources.get("allTags"));k.setAttribute("type","text");k.style.marginTop="4px";k.style.width="260px";k.style.fontSize="12px";
-k.style.borderRadius="4px";k.style.padding="6px";g.appendChild(k);if(!a.isOffline()||mxClient.IS_CHROMEAPP){k.style.width="240px";var n=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");n.firstChild.style.marginBottom="6px";n.style.marginLeft="6px";g.appendChild(n)}mxEvent.addListener(k,"dblclick",function(){var b=new FilenameDialog(a,m,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(m=a)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,
-300,80,!0,!0);b.init()});k.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(g);n=mxUtils.button(mxResources.get("hide"),function(){h(f(),!1)});n.setAttribute("title",mxResources.get("hide"));n.style.marginTop="8px";n.style.marginRight="4px";n.className="geBtn";g.appendChild(n);n=mxUtils.button(mxResources.get("show"),function(){var a=f();h(a,!0);l.isEnabled()&&l.setSelectionCells(a)});n.setAttribute("title",mxResources.get("show"));n.style.marginTop="8px";n.style.marginRight=
-"4px";n.className="geBtn";g.appendChild(n);var q=a.actions.get("tags"),n=mxUtils.button(mxResources.get("close"),function(){q.funct()});n.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");n.style.marginTop="8px";n.className="geBtn gePrimaryBtn";g.appendChild(n);mxEvent.addListener(k,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||q.funct()});this.window=new mxWindow(mxResources.get("tags"),g,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
-this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(k.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)):l.container.focus()}))},AuthDialog=function(a,b,c,d){var e=document.createElement("div");e.style.textAlign="center";var f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.margin="0px";f.style.color="gray";mxUtils.write(f,
+TagsWindow=function(a,b,c,d,e){function g(a){a=null!=a?a:l.model.getDescendants(l.model.getRoot());for(var b=k.value.split(" "),c=[],d=0;d<a.length;d++)if(l.model.isVertex(a[d])||l.model.isEdge(a[d])){var f=null!=a[d].value&&"object"==typeof a[d].value?mxUtils.trim(a[d].value.getAttribute(m)||""):"",e=!0;if(0<f.length)for(var f=f.toLowerCase().split(" "),n=0;n<b.length&&e;n++)var g=mxUtils.trim(b[n]).toLowerCase(),e=e&&(0==g.length||0<=mxUtils.indexOf(f,g));else e=0==mxUtils.trim(k.value).length;
+e&&c.push(a[d])}return c}function h(a,b){l.model.beginUpdate();try{for(var c=0;c<a.length;c++)l.model.setVisible(a[c],b)}finally{l.model.endUpdate()}}var l=a.editor.graph,m="tags",f=document.createElement("div");f.style.userSelect="none";f.style.overflow="hidden";f.style.padding="10px";f.style.height="100%";var k=document.createElement("input");k.setAttribute("placeholder",mxResources.get("allTags"));k.setAttribute("type","text");k.style.marginTop="4px";k.style.width="260px";k.style.fontSize="12px";
+k.style.borderRadius="4px";k.style.padding="6px";f.appendChild(k);if(!a.isOffline()||mxClient.IS_CHROMEAPP){k.style.width="240px";var n=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");n.firstChild.style.marginBottom="6px";n.style.marginLeft="6px";f.appendChild(n)}mxEvent.addListener(k,"dblclick",function(){var b=new FilenameDialog(a,m,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(m=a)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,
+300,80,!0,!0);b.init()});k.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(f);n=mxUtils.button(mxResources.get("hide"),function(){h(g(),!1)});n.setAttribute("title",mxResources.get("hide"));n.style.marginTop="8px";n.style.marginRight="4px";n.className="geBtn";f.appendChild(n);n=mxUtils.button(mxResources.get("show"),function(){var a=g();h(a,!0);l.isEnabled()&&l.setSelectionCells(a)});n.setAttribute("title",mxResources.get("show"));n.style.marginTop="8px";n.style.marginRight=
+"4px";n.className="geBtn";f.appendChild(n);var q=a.actions.get("tags"),n=mxUtils.button(mxResources.get("close"),function(){q.funct()});n.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");n.style.marginTop="8px";n.className="geBtn gePrimaryBtn";f.appendChild(n);mxEvent.addListener(k,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||q.funct()});this.window=new mxWindow(mxResources.get("tags"),f,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
+this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(k.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)):l.container.focus()}))},AuthDialog=function(a,b,c,d){var e=document.createElement("div");e.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,
 mxResources.get("authorizationRequired"));var h="Unknown",l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("align","absmiddle");l.style.marginRight="10px";b==a.drive?(h=mxResources.get("googleDrive"),l.src=IMAGE_PATH+"/google-drive-logo-white.svg"):b==a.dropbox?(h=mxResources.get("dropbox"),l.src=IMAGE_PATH+"/dropbox-logo-white.svg"):b==a.oneDrive?(h=mxResources.get("oneDrive"),l.src=IMAGE_PATH+"/onedrive-logo-white.svg"):b==a.gitHub?(h=mxResources.get("github"),l.src=IMAGE_PATH+
-"/github-logo-white.svg"):b==a.trello&&(h=mxResources.get("trello"),l.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[h]));var m=document.createElement("input");m.setAttribute("type","checkbox");h=mxUtils.button(mxResources.get("authorize"),function(){d(m.checked)});h.insertBefore(l,h.firstChild);h.style.marginTop="6px";h.className="geBigButton";e.appendChild(f);e.appendChild(a);e.appendChild(h);c&&(c=document.createElement("p"),
-c.style.marginTop="20px",c.appendChild(m),f=document.createElement("span"),mxUtils.write(f," "+mxResources.get("rememberMe")),c.appendChild(f),e.appendChild(c),m.checked=!0,m.defaultChecked=!0,mxEvent.addListener(f,"click",function(a){m.checked=!m.checked;mxEvent.consume(a)}));this.container=e},MoreShapesDialog=function(a,b,c){c=null!=c?c:a.sidebar.entries;var d=document.createElement("div");if(b){b=document.createElement("div");b.className="geDialogTitle";mxUtils.write(b,mxResources.get("shapes"));
-b.style.position="absolute";b.style.top="0px";b.style.left="0px";b.style.lineHeight="40px";b.style.height="40px";b.style.right="0px";mxClient.IS_QUIRKS&&(b.style.width="718px");var e=document.createElement("div"),f=document.createElement("div");e.style.position="absolute";e.style.top="40px";e.style.left="0px";e.style.width="202px";e.style.bottom="60px";e.style.overflow="auto";mxClient.IS_QUIRKS&&(e.style.height="437px",e.style.marginTop="1px");f.style.position="absolute";f.style.left="202px";f.style.right=
-"0px";f.style.top="40px";f.style.bottom="60px";f.style.overflow="auto";f.style.borderLeft="1px solid rgb(211, 211, 211)";f.style.textAlign="center";mxClient.IS_QUIRKS&&(f.style.width=parseInt(b.style.width)-202+"px",f.style.height=e.style.height,f.style.marginTop=e.style.marginTop);var h=null,l=[],m=document.createElement("div");m.style.position="relative";m.style.left="0px";m.style.right="0px";for(var g=0;g<c.length;g++)(function(b){var c=m.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor=
+"/github-logo-white.svg"):b==a.trello&&(h=mxResources.get("trello"),l.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[h]));var m=document.createElement("input");m.setAttribute("type","checkbox");h=mxUtils.button(mxResources.get("authorize"),function(){d(m.checked)});h.insertBefore(l,h.firstChild);h.style.marginTop="6px";h.className="geBigButton";e.appendChild(g);e.appendChild(a);e.appendChild(h);c&&(c=document.createElement("p"),
+c.style.marginTop="20px",c.appendChild(m),g=document.createElement("span"),mxUtils.write(g," "+mxResources.get("rememberMe")),c.appendChild(g),e.appendChild(c),m.checked=!0,m.defaultChecked=!0,mxEvent.addListener(g,"click",function(a){m.checked=!m.checked;mxEvent.consume(a)}));this.container=e},MoreShapesDialog=function(a,b,c){c=null!=c?c:a.sidebar.entries;var d=document.createElement("div");if(b){b=document.createElement("div");b.className="geDialogTitle";mxUtils.write(b,mxResources.get("shapes"));
+b.style.position="absolute";b.style.top="0px";b.style.left="0px";b.style.lineHeight="40px";b.style.height="40px";b.style.right="0px";mxClient.IS_QUIRKS&&(b.style.width="718px");var e=document.createElement("div"),g=document.createElement("div");e.style.position="absolute";e.style.top="40px";e.style.left="0px";e.style.width="202px";e.style.bottom="60px";e.style.overflow="auto";mxClient.IS_QUIRKS&&(e.style.height="437px",e.style.marginTop="1px");g.style.position="absolute";g.style.left="202px";g.style.right=
+"0px";g.style.top="40px";g.style.bottom="60px";g.style.overflow="auto";g.style.borderLeft="1px solid rgb(211, 211, 211)";g.style.textAlign="center";mxClient.IS_QUIRKS&&(g.style.width=parseInt(b.style.width)-202+"px",g.style.height=e.style.height,g.style.marginTop=e.style.marginTop);var h=null,l=[],m=document.createElement("div");m.style.position="relative";m.style.left="0px";m.style.right="0px";for(var f=0;f<c.length;f++)(function(b){var c=m.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor=
 "dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,b.title);e.appendChild(c);for(var d=0;d<b.entries.length;d++)(function(b){var c=m.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.checked=a.sidebar.isEntryVisible(b.id);k.defaultChecked=k.checked;c.appendChild(k);mxUtils.write(c," "+b.title);e.appendChild(c);var n=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=
-b.imageCallback?b.imageCallback(f):null!=b.image?f.innerHTML='<img border="0" src="'+b.image+'"/>':(f.innerHTML="<br>",mxUtils.write(f,mxResources.get("noPreview"))),null!=h&&(h.style.backgroundColor=""),h=c,h.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",n);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});l.push(function(){return k.checked?b.id:null});0==g&&0==d&&n()})(b.entries[d])})(c[g]);
-d.style.padding="30px";d.appendChild(b);d.appendChild(e);d.appendChild(f);c=document.createElement("div");c.className="geDialogFooter";c.style.position="absolute";c.style.paddingRight="16px";c.style.color="gray";c.style.left="0px";c.style.right="0px";c.style.bottom="0px";c.style.height="60px";c.style.lineHeight="52px";mxClient.IS_QUIRKS&&(c.style.width=b.style.width,c.style.paddingTop="12px");var k=document.createElement("input");k.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)b=
+b.imageCallback?b.imageCallback(g):null!=b.image?g.innerHTML='<img border="0" src="'+b.image+'"/>':(g.innerHTML="<br>",mxUtils.write(g,mxResources.get("noPreview"))),null!=h&&(h.style.backgroundColor=""),h=c,h.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",n);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});l.push(function(){return k.checked?b.id:null});0==f&&0==d&&n()})(b.entries[d])})(c[f]);
+d.style.padding="30px";d.appendChild(b);d.appendChild(e);d.appendChild(g);c=document.createElement("div");c.className="geDialogFooter";c.style.position="absolute";c.style.paddingRight="16px";c.style.color="gray";c.style.left="0px";c.style.right="0px";c.style.bottom="0px";c.style.height="60px";c.style.lineHeight="52px";mxClient.IS_QUIRKS&&(c.style.width=b.style.width,c.style.paddingTop="12px");var k=document.createElement("input");k.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)b=
 document.createElement("span"),b.style.paddingRight="20px",b.appendChild(k),mxUtils.write(b," "+mxResources.get("rememberThisSetting")),k.checked=!0,k.defaultChecked=!0,mxEvent.addListener(b,"click",function(a){mxEvent.getSource(a)!=k&&(k.checked=!k.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.top="-6px"),c.appendChild(b);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";var n=mxUtils.button(mxResources.get("apply"),
-function(){a.hideDialog();for(var b=[],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),k.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var q=document.createElement("table"),t=document.createElement("tbody");d.style.height="100%";d.style.overflow="auto";var p=document.createElement("tr");q.style.width="100%";b=document.createElement("td");var n=document.createElement("td"),v=document.createElement("td"),y=mxUtils.bind(this,function(b,
-c,d){var g=document.createElement("input");g.type="checkbox";q.appendChild(g);g.checked=a.sidebar.isEntryVisible(d);var k=document.createElement("span");mxUtils.write(k,c);c=document.createElement("div");c.style.display="block";c.appendChild(g);c.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return g.checked?d:null}});p.appendChild(b);p.appendChild(n);p.appendChild(v);t.appendChild(p);q.appendChild(t);for(var l=
-[],z=0,g=0;g<c.length;g++)for(t=0;t<c[g].entries.length;t++)z++;for(var u=[b,n,v],w=0,g=0;g<c.length;g++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];l.push(y(u[Math.floor(w/(z/3))],c.title,c.id));w++}})(c[g]);d.appendChild(q);c=document.createElement("div");c.style.marginTop="18px";c.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,c.appendChild(k),b=document.createElement("span"),
+function(){a.hideDialog();for(var b=[],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),k.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var q=document.createElement("table"),u=document.createElement("tbody");d.style.height="100%";d.style.overflow="auto";var p=document.createElement("tr");q.style.width="100%";b=document.createElement("td");var n=document.createElement("td"),v=document.createElement("td"),w=mxUtils.bind(this,function(b,
+c,d){var f=document.createElement("input");f.type="checkbox";q.appendChild(f);f.checked=a.sidebar.isEntryVisible(d);var k=document.createElement("span");mxUtils.write(k,c);c=document.createElement("div");c.style.display="block";c.appendChild(f);c.appendChild(k);mxEvent.addListener(k,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return f.checked?d:null}});p.appendChild(b);p.appendChild(n);p.appendChild(v);u.appendChild(p);q.appendChild(u);for(var l=
+[],z=0,f=0;f<c.length;f++)for(u=0;u<c[f].entries.length;u++)z++;for(var t=[b,n,v],y=0,f=0;f<c.length;f++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];l.push(w(t[Math.floor(y/(z/3))],c.title,c.id));y++}})(c[f]);d.appendChild(q);c=document.createElement("div");c.style.marginTop="18px";c.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,c.appendChild(k),b=document.createElement("span"),
 mxUtils.write(b," "+mxResources.get("rememberThisSetting")),c.appendChild(b),mxEvent.addListener(b,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)}));d.appendChild(c);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(0<b.length?b.join(";"):"",k.checked);a.hideDialog()});n.className=
-"geBtn gePrimaryBtn";c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right"}a.editor.cancelFirst?(c.appendChild(b),c.appendChild(n)):(c.appendChild(n),c.appendChild(b));d.appendChild(c);this.container=d},PluginsDialog=function(a){function b(){if(0==e.length)d.innerHTML=mxResources.get("noPlugins");else{d.innerHTML="";for(var c=0;c<e.length;c++){var g=document.createElement("span");g.style.whiteSpace="nowrap";var f=document.createElement("span");f.className="geSprite geSprite-delete";
-f.style.position="relative";f.style.cursor="pointer";f.style.top="5px";f.style.marginRight="4px";f.style.display="inline-block";g.appendChild(f);mxUtils.write(g,e[c]);d.appendChild(g);mxUtils.br(d);mxEvent.addListener(f,"click",function(c){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+e[c]+'"?',function(){e.splice(c,1);b()})}}(c))}}}var c=document.createElement("div"),d=document.createElement("div");d.style.height="120px";d.style.overflow="auto";var e=mxSettings.getPlugins().slice();
-c.appendChild(d);b();var f=mxUtils.button(mxResources.get("add"),function(){var c="",d=urlParams.p;if(null!=d&&0<d.length){for(var g=d.split(";"),d=0;d<g.length;d++){var f=App.pluginRegistry[g[d]];null!=f&&(c+=f+";")}";"==c.charAt(c.length-1)&&(c=c.substring(0,c.length-1))}c=new FilenameDialog(a,c,mxResources.get("add"),function(a){if(null!=a&&0<a.length){g=a.split(";");for(a=0;a<g.length;a++){var c=g[a],d=App.pluginRegistry[c];null!=d&&(c=d);0<c.length&&0>mxUtils.indexOf(e,c)&&e.push(c)}b()}},mxResources.get("enterValue")+
-" ("+mxResources.get("url")+")");a.showDialog(c.container,300,80,!0,!0);c.init()});f.className="geBtn";var h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";var l=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(e);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});l.className="geBtn gePrimaryBtn";var m=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
-m.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(m.style.display="none");var g=document.createElement("div");g.style.marginTop="14px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(h),g.appendChild(m),g.appendChild(f),g.appendChild(l)):(g.appendChild(m),g.appendChild(f),g.appendChild(l),g.appendChild(h));c.appendChild(g);this.container=c},CropImageDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("table"),f=document.createElement("tbody"),
-h=document.createElement("tr"),l=document.createElement("td");l.style.whiteSpace="nowrap";l.setAttribute("colspan","2");mxUtils.write(l,mxResources.get("loading")+"...");h.appendChild(l);f.appendChild(h);var h=document.createElement("tr"),m=document.createElement("td"),g=document.createElement("td");e.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value="0";this.init=function(){k.focus();
-k.select()};g.appendChild(k);h.appendChild(m);h.appendChild(g);f.appendChild(h);h=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("top")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value="0";g.appendChild(n);h.appendChild(m);h.appendChild(g);f.appendChild(h);h=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("right")+
-":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";g.appendChild(q);h.appendChild(m);h.appendChild(g);f.appendChild(h);h=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("bottom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value="0";g.appendChild(t);h.appendChild(m);h.appendChild(g);f.appendChild(h);h=document.createElement("tr");
-m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("circle")+":");h.appendChild(m);var p=document.createElement("input");p.setAttribute("type","checkbox");g.appendChild(p);h.appendChild(g);f.appendChild(h);e.appendChild(f);d.appendChild(e);var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=new Image,y=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),d=b.getContext("2d"),g=v.width,
-e=v.height,f=parseInt(k.value),h=parseInt(n.value),g=Math.max(1,g-f-parseInt(q.value)),e=Math.max(1,e-h-parseInt(t.value));b.width=g;b.height=e;p.checked&&(d.fillStyle="#000000",d.arc(g/2,e/2,Math.min(g/2,e/2),0,2*Math.PI),d.fill(),d.globalCompositeOperation="source-in");d.drawImage(v,f,h,g,e,0,0,g,e);c(b.toDataURL())});y.setAttribute("disabled","disabled");v.onload=function(){y.removeAttribute("disabled");l.innerHTML="";mxUtils.write(l,mxResources.get("width")+": "+v.width+" "+mxResources.get("height")+
-": "+v.height)};v.src=b;mxEvent.addListener(d,"keypress",function(a){13==a.keyCode&&y.click()});b=document.createElement("div");b.style.marginTop="20px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(e),b.appendChild(y)):(b.appendChild(y),b.appendChild(e));d.appendChild(b);this.container=d},EditGeometryDialog=function(a,b){var c=a.editor.graph,d=1==b.length?c.getCellGeometry(b[0]):null,e=document.createElement("div"),f=document.createElement("table"),h=document.createElement("tbody"),
-l=document.createElement("tr"),m=document.createElement("td"),g=document.createElement("td");f.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value=null!=d?d.x:"";this.init=function(){k.focus();k.select()};g.appendChild(k);l.appendChild(m);l.appendChild(g);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("top")+
-":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.y:"";g.appendChild(n);l.appendChild(m);l.appendChild(g);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("width")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=d?d.width:"";g.appendChild(q);l.appendChild(m);l.appendChild(g);h.appendChild(l);
-l=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("height")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=d?d.height:"";g.appendChild(t);l.appendChild(m);l.appendChild(g);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");g=document.createElement("td");mxUtils.write(m,mxResources.get("rotation")+":");var p=document.createElement("input");
-p.setAttribute("type","text");p.style.width="100px";p.value=1==b.length?mxUtils.getValue(c.getCellStyle(b[0]),mxConstants.STYLE_ROTATION,0):"";g.appendChild(p);l.appendChild(m);l.appendChild(g);h.appendChild(l);f.appendChild(h);e.appendChild(f);var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.getModel().beginUpdate();try{for(var d=0;d<b.length;d++){var g=c.getCellGeometry(b[d]);null!=g&&(g=g.clone(),c.isCellMovable(b[d])&&
-(0<mxUtils.trim(k.value).length&&(g.x=Number(k.value)),0<mxUtils.trim(n.value).length&&(g.y=Number(n.value))),c.isCellResizable(b[d])&&(0<mxUtils.trim(q.value).length&&(g.width=Number(q.value)),0<mxUtils.trim(t.value).length&&(g.height=Number(t.value))),c.getModel().setGeometry(b[d],g));0<mxUtils.trim(p.value).length&&c.setCellStyles(mxConstants.STYLE_ROTATION,Number(p.value),[b[d]])}}finally{c.getModel().endUpdate()}});mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&v.click()});f=document.createElement("div");
-f.style.marginTop="20px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(d),f.appendChild(v)):(f.appendChild(v),f.appendChild(d));e.appendChild(f);this.container=e},LibraryDialog=function(a,b,c,d,e,f){function h(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=t;)a=a.parentNode;var b=null;if(null!=a)for(var c=t.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function l(b,c,d,g,e,n,f,q,m){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&
-null!=f||null==v[b]){var z=function(){G.innerHTML="";G.style.cursor="pointer";G.style.whiteSpace="nowrap";G.style.textOverflow="ellipsis";mxUtils.write(G,null!=B.title&&0<B.title.length?B.title:mxResources.get("untitled"));G.style.color=null==B.title||0==B.title.length?"#d0d0d0":""};t.style.backgroundImage="";p.style.display="none";var D=e,C=n;if(e>a.maxImageSize||n>a.maxImageSize){var F=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=F;n*=F}D>C?(C=Math.round(100*
-C/D),D=100):(D=Math.round(100*D/C),C=100);var x=document.createElement("div");x.setAttribute("draggable","true");x.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";x.style.position="relative";x.style.cursor="move";mxUtils.setPrefixedStyle(x.style,"transition","transform .1s ease-in-out");if(null!=b){var A=document.createElement("img");A.setAttribute("src",w.convert(b));A.style.width=D+"px";A.style.height=C+"px";A.style.margin="10px";A.style.paddingBottom=Math.floor((100-C)/2)+"px";A.style.paddingLeft=
-Math.floor((100-D)/2)+"px";x.appendChild(A)}else if(null!=f){var H=a.stringToCells(a.editor.graph.decompress(f.xml));0<H.length&&(a.sidebar.createThumb(H,100,100,x,null,!0,!1),x.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",x.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
-"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(L,"click",function(d){v[b]=null;for(var g=0;g<k.length;g++)if(null!=k[g].data&&k[g].data==b||null!=k[g].xml&&null!=c&&k[g].xml==c.xml){k.splice(g,1);break}x.parentNode.removeChild(a);0==k.length&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",p.style.display="");mxEvent.consume(d)});mxEvent.addListener(L,
-"dblclick",function(a){mxEvent.consume(a)})})(x,b,f);x.appendChild(L);x.style.marginBottom="30px";var G=document.createElement("div");G.style.position="absolute";G.style.boxSizing="border-box";G.style.bottom="-18px";G.style.left="10px";G.style.right="10px";G.style.backgroundColor="#ffffff";G.style.overflow="hidden";G.style.textAlign="center";var B=null;null!=b?(B={data:b,w:e,h:n,title:m},null!=q&&(B.aspect=q),v[b]=A,k.push(B)):null!=f&&(f.aspect="fixed",k.push(f),B=f);mxEvent.addListener(G,"keydown",
-function(a){13==a.keyCode&&null!=u&&(u(),u=null,mxEvent.consume(a))});z();x.appendChild(G);mxEvent.addListener(G,"mousedown",function(a){"true"!=G.getAttribute("contentEditable")&&mxEvent.consume(a)});H=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,B.title||"",mxResources.get("ok"),function(a){null!=a&&(B.title=a,z())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
-mxEvent.consume(b)}else if("true"!=G.getAttribute("contentEditable")){null!=u&&(u(),u=null);if(null==B.title||0==B.title.length)G.innerHTML="";G.style.textOverflow="";G.style.whiteSpace="";G.style.cursor="text";G.style.color="";G.setAttribute("contentEditable","true");G.focus();document.execCommand("selectAll",!1,null);u=function(){G.removeAttribute("contentEditable");G.style.cursor="pointer";B.title=G.innerHTML;z()};mxEvent.consume(b)}};mxEvent.addListener(G,"click",H);mxEvent.addListener(x,"dblclick",
-H);t.appendChild(x);mxEvent.addListener(x,"dragstart",function(a){null==b&&null!=f&&(L.style.visibility="hidden",G.style.visibility="hidden");mxClient.IS_FF&&null!=f.xml&&a.dataTransfer.setData("Text",f.xml);y=h(a);mxClient.IS_GC&&(x.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(x.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(x,30);L.style.visibility="";G.style.visibility=""},0)});mxEvent.addListener(x,"dragend",function(a){"hidden"==L.style.visibility&&(L.style.visibility=
-"",G.style.visibility="");y=null;mxUtils.setOpacity(x,100);mxUtils.setPrefixedStyle(x.style,"transform",null)})}else E||(E=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),D=mxUtils.parseXml(b),"mxlibrary"==D.documentElement.nodeName){C=JSON.parse(mxUtils.getTextContent(D.documentElement));if(null!=C&&0<C.length)for(var J=0;J<C.length;J++)null!=C[J].xml?l(null,null,0,0,0,0,C[J]):l(C[J].data,null,0,0,C[J].w,C[J].h,null,"fixed",C[J].title);e=!0}else if("mxfile"==
-D.documentElement.nodeName){for(var M=D.documentElement.getElementsByTagName("diagram"),J=0;J<M.length;J++){var C=mxUtils.getTextContent(M[J]),H=a.stringToCells(a.editor.graph.decompress(C)),P=a.editor.graph.getBoundingBoxFromGeometry(H);l(null,null,0,0,0,0,{xml:C,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function m(a){a.dataTransfer.dropEffect=null!=y?"move":"copy";a.stopPropagation();a.preventDefault()}
-function g(b){b.stopPropagation();b.preventDefault();E=!1;z=h(b);if(null!=y)null!=z&&z<t.children.length?(k.splice(z>y?z-1:z,0,k.splice(y,1)[0]),t.insertBefore(t.children[y],t.children[z])):(k.push(k.splice(y,1)[0]),t.appendChild(t.children[y]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,D(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
-/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){l(c,null,0,0,a.width,a.height);t.scrollTop=t.scrollHeight})}b.stopPropagation();b.preventDefault()}var k=[];c=document.createElement("div");c.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="40px";c.appendChild(n);mxUtils.write(n,mxResources.get("filename")+":");null==b&&(b=a.defaultLibraryName+".xml");var q=document.createElement("input");q.setAttribute("value",
-b);q.style.marginRight="20px";q.style.marginLeft="10px";q.style.width="500px";null==e||e.isRenamable()||q.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};n.appendChild(q);var t=document.createElement("div");t.style.borderWidth="1px 0px 1px 0px";t.style.borderColor="#d3d3d3";t.style.borderStyle="solid";t.style.marginTop="6px";
-t.style.overflow="auto";t.style.height="340px";t.style.backgroundPosition="center center";t.style.backgroundRepeat="no-repeat";0==k.length&&Graph.fileSupport&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var p=document.createElement("div");p.style.position="absolute";p.style.width="640px";p.style.top="260px";p.style.textAlign="center";p.style.fontSize="22px";p.style.color="#a0c3ff";mxUtils.write(p,mxResources.get("dragImagesHere"));c.appendChild(p);var v={},y=null,z=null,u=null;
-b=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=u&&(u(),u=null,mxEvent.consume(a))};mxEvent.addListener(t,"mousedown",b);mxEvent.addListener(t,"pointerdown",b);mxEvent.addListener(t,"touchstart",b);var w=new mxUrlConverter,E=!1;if(null!=d)for(b=0;b<d.length;b++)n=d[b],l(n.data,null,0,0,n.w,n.h,n,n.aspect,n.title);mxEvent.addListener(t,"dragleave",function(a){p.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==t||b==p){a.stopPropagation();a.preventDefault();
-break}b=b.parentNode}});var D=function(b){return function(c,d,g,k,e,n,u,f,w){null!=w&&(/(\.vsdx)($|\?)/i.test(w.name)||/(\.vssx)($|\?)/i.test(w.name))?a.importVisio(w,mxUtils.bind(this,function(c){a.spinner.stop();l(c,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," "))})):null!=w&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,w.name)?a.parseFile(w,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=
-c.status&&(l(c.responseText,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight))})):(l(c,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight)}};mxEvent.addListener(t,"dragover",m);mxEvent.addListener(t,"drop",g);mxEvent.addListener(p,"dragover",m);mxEvent.addListener(p,"drop",g);c.appendChild(t);d=document.createElement("div");d.style.textAlign="right";
+"geBtn gePrimaryBtn";c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right"}a.editor.cancelFirst?(c.appendChild(b),c.appendChild(n)):(c.appendChild(n),c.appendChild(b));d.appendChild(c);this.container=d},PluginsDialog=function(a){function b(){if(0==e.length)d.innerHTML=mxResources.get("noPlugins");else{d.innerHTML="";for(var c=0;c<e.length;c++){var f=document.createElement("span");f.style.whiteSpace="nowrap";var g=document.createElement("span");g.className="geSprite geSprite-delete";
+g.style.position="relative";g.style.cursor="pointer";g.style.top="5px";g.style.marginRight="4px";g.style.display="inline-block";f.appendChild(g);mxUtils.write(f,e[c]);d.appendChild(f);mxUtils.br(d);mxEvent.addListener(g,"click",function(c){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+e[c]+'"?',function(){e.splice(c,1);b()})}}(c))}}}var c=document.createElement("div"),d=document.createElement("div");d.style.height="120px";d.style.overflow="auto";var e=mxSettings.getPlugins().slice();
+c.appendChild(d);b();var g=mxUtils.button(mxResources.get("add"),function(){var c="",d=urlParams.p;if(null!=d&&0<d.length){for(var f=d.split(";"),d=0;d<f.length;d++){var g=App.pluginRegistry[f[d]];null!=g&&(c+=g+";")}";"==c.charAt(c.length-1)&&(c=c.substring(0,c.length-1))}c=new FilenameDialog(a,c,mxResources.get("add"),function(a){if(null!=a&&0<a.length){f=a.split(";");for(a=0;a<f.length;a++){var c=f[a],d=App.pluginRegistry[c];null!=d&&(c=d);0<c.length&&0>mxUtils.indexOf(e,c)&&e.push(c)}b()}},mxResources.get("enterValue")+
+" ("+mxResources.get("url")+")");a.showDialog(c.container,300,80,!0,!0);c.init()});g.className="geBtn";var h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";var l=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(e);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});l.className="geBtn gePrimaryBtn";var m=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
+m.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(m.style.display="none");var f=document.createElement("div");f.style.marginTop="14px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(h),f.appendChild(m),f.appendChild(g),f.appendChild(l)):(f.appendChild(m),f.appendChild(g),f.appendChild(l),f.appendChild(h));c.appendChild(f);this.container=c},CropImageDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("table"),g=document.createElement("tbody"),
+h=document.createElement("tr"),l=document.createElement("td");l.style.whiteSpace="nowrap";l.setAttribute("colspan","2");mxUtils.write(l,mxResources.get("loading")+"...");h.appendChild(l);g.appendChild(h);var h=document.createElement("tr"),m=document.createElement("td"),f=document.createElement("td");e.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value="0";this.init=function(){k.focus();
+k.select()};f.appendChild(k);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("top")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value="0";f.appendChild(n);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("right")+
+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";f.appendChild(q);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";f.appendChild(u);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");
+m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("circle")+":");h.appendChild(m);var p=document.createElement("input");p.setAttribute("type","checkbox");f.appendChild(p);h.appendChild(f);g.appendChild(h);e.appendChild(g);d.appendChild(e);var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=new Image,w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),d=b.getContext("2d"),f=v.width,
+e=v.height,g=parseInt(k.value),h=parseInt(n.value),f=Math.max(1,f-g-parseInt(q.value)),e=Math.max(1,e-h-parseInt(u.value));b.width=f;b.height=e;p.checked&&(d.fillStyle="#000000",d.arc(f/2,e/2,Math.min(f/2,e/2),0,2*Math.PI),d.fill(),d.globalCompositeOperation="source-in");d.drawImage(v,g,h,f,e,0,0,f,e);c(b.toDataURL())});w.setAttribute("disabled","disabled");v.onload=function(){w.removeAttribute("disabled");l.innerHTML="";mxUtils.write(l,mxResources.get("width")+": "+v.width+" "+mxResources.get("height")+
+": "+v.height)};v.src=b;mxEvent.addListener(d,"keypress",function(a){13==a.keyCode&&w.click()});b=document.createElement("div");b.style.marginTop="20px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(e),b.appendChild(w)):(b.appendChild(w),b.appendChild(e));d.appendChild(b);this.container=d},EditGeometryDialog=function(a,b){var c=a.editor.graph,d=1==b.length?c.getCellGeometry(b[0]):null,e=document.createElement("div"),g=document.createElement("table"),h=document.createElement("tbody"),
+l=document.createElement("tr"),m=document.createElement("td"),f=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value=null!=d?d.x:"";this.init=function(){k.focus();k.select()};f.appendChild(k);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("top")+
+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.y:"";f.appendChild(n);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("width")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=d?d.width:"";f.appendChild(q);l.appendChild(m);l.appendChild(f);h.appendChild(l);
+l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("height")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=d?d.height:"";f.appendChild(u);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("rotation")+":");var p=document.createElement("input");
+p.setAttribute("type","text");p.style.width="100px";p.value=1==b.length?mxUtils.getValue(c.getCellStyle(b[0]),mxConstants.STYLE_ROTATION,0):"";f.appendChild(p);l.appendChild(m);l.appendChild(f);h.appendChild(l);g.appendChild(h);e.appendChild(g);var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.getModel().beginUpdate();try{for(var d=0;d<b.length;d++){var f=c.getCellGeometry(b[d]);null!=f&&(f=f.clone(),c.isCellMovable(b[d])&&
+(0<mxUtils.trim(k.value).length&&(f.x=Number(k.value)),0<mxUtils.trim(n.value).length&&(f.y=Number(n.value))),c.isCellResizable(b[d])&&(0<mxUtils.trim(q.value).length&&(f.width=Number(q.value)),0<mxUtils.trim(u.value).length&&(f.height=Number(u.value))),c.getModel().setGeometry(b[d],f));0<mxUtils.trim(p.value).length&&c.setCellStyles(mxConstants.STYLE_ROTATION,Number(p.value),[b[d]])}}finally{c.getModel().endUpdate()}});mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&v.click()});g=document.createElement("div");
+g.style.marginTop="20px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(d),g.appendChild(v)):(g.appendChild(v),g.appendChild(d));e.appendChild(g);this.container=e},LibraryDialog=function(a,b,c,d,e,g){function h(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function l(b,c,d,f,e,n,g,q,m){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&
+null!=g||null==v[b]){var z=function(){F.innerHTML="";F.style.cursor="pointer";F.style.whiteSpace="nowrap";F.style.textOverflow="ellipsis";mxUtils.write(F,null!=C.title&&0<C.title.length?C.title:mxResources.get("untitled"));F.style.color=null==C.title||0==C.title.length?"#d0d0d0":""};u.style.backgroundImage="";p.style.display="none";var D=e,B=n;if(e>a.maxImageSize||n>a.maxImageSize){var J=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=J;n*=J}D>B?(B=Math.round(100*
+B/D),D=100):(D=Math.round(100*D/B),B=100);var x=document.createElement("div");x.setAttribute("draggable","true");x.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";x.style.position="relative";x.style.cursor="move";mxUtils.setPrefixedStyle(x.style,"transition","transform .1s ease-in-out");if(null!=b){var A=document.createElement("img");A.setAttribute("src",y.convert(b));A.style.width=D+"px";A.style.height=B+"px";A.style.margin="10px";A.style.paddingBottom=Math.floor((100-B)/2)+"px";A.style.paddingLeft=
+Math.floor((100-D)/2)+"px";x.appendChild(A)}else if(null!=g){var H=a.stringToCells(a.editor.graph.decompress(g.xml));0<H.length&&(a.sidebar.createThumb(H,100,100,x,null,!0,!1),x.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",x.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
+"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(L,"click",function(d){v[b]=null;for(var f=0;f<k.length;f++)if(null!=k[f].data&&k[f].data==b||null!=k[f].xml&&null!=c&&k[f].xml==c.xml){k.splice(f,1);break}x.parentNode.removeChild(a);0==k.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",p.style.display="");mxEvent.consume(d)});mxEvent.addListener(L,
+"dblclick",function(a){mxEvent.consume(a)})})(x,b,g);x.appendChild(L);x.style.marginBottom="30px";var F=document.createElement("div");F.style.position="absolute";F.style.boxSizing="border-box";F.style.bottom="-18px";F.style.left="10px";F.style.right="10px";F.style.backgroundColor="#ffffff";F.style.overflow="hidden";F.style.textAlign="center";var C=null;null!=b?(C={data:b,w:e,h:n,title:m},null!=q&&(C.aspect=q),v[b]=A,k.push(C)):null!=g&&(g.aspect="fixed",k.push(g),C=g);mxEvent.addListener(F,"keydown",
+function(a){13==a.keyCode&&null!=t&&(t(),t=null,mxEvent.consume(a))});z();x.appendChild(F);mxEvent.addListener(F,"mousedown",function(a){"true"!=F.getAttribute("contentEditable")&&mxEvent.consume(a)});H=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,C.title||"",mxResources.get("ok"),function(a){null!=a&&(C.title=a,z())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
+mxEvent.consume(b)}else if("true"!=F.getAttribute("contentEditable")){null!=t&&(t(),t=null);if(null==C.title||0==C.title.length)F.innerHTML="";F.style.textOverflow="";F.style.whiteSpace="";F.style.cursor="text";F.style.color="";F.setAttribute("contentEditable","true");F.focus();document.execCommand("selectAll",!1,null);t=function(){F.removeAttribute("contentEditable");F.style.cursor="pointer";C.title=F.innerHTML;z()};mxEvent.consume(b)}};mxEvent.addListener(F,"click",H);mxEvent.addListener(x,"dblclick",
+H);u.appendChild(x);mxEvent.addListener(x,"dragstart",function(a){null==b&&null!=g&&(L.style.visibility="hidden",F.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);w=h(a);mxClient.IS_GC&&(x.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(x.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(x,30);L.style.visibility="";F.style.visibility=""},0)});mxEvent.addListener(x,"dragend",function(a){"hidden"==L.style.visibility&&(L.style.visibility=
+"",F.style.visibility="");w=null;mxUtils.setOpacity(x,100);mxUtils.setPrefixedStyle(x.style,"transform",null)})}else E||(E=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),D=mxUtils.parseXml(b),"mxlibrary"==D.documentElement.nodeName){B=JSON.parse(mxUtils.getTextContent(D.documentElement));if(null!=B&&0<B.length)for(var G=0;G<B.length;G++)null!=B[G].xml?l(null,null,0,0,0,0,B[G]):l(B[G].data,null,0,0,B[G].w,B[G].h,null,"fixed",B[G].title);e=!0}else if("mxfile"==
+D.documentElement.nodeName){for(var M=D.documentElement.getElementsByTagName("diagram"),G=0;G<M.length;G++){var B=mxUtils.getTextContent(M[G]),H=a.stringToCells(a.editor.graph.decompress(B)),P=a.editor.graph.getBoundingBoxFromGeometry(H);l(null,null,0,0,0,0,{xml:B,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function m(a){a.dataTransfer.dropEffect=null!=w?"move":"copy";a.stopPropagation();a.preventDefault()}
+function f(b){b.stopPropagation();b.preventDefault();E=!1;z=h(b);if(null!=w)null!=z&&z<u.children.length?(k.splice(z>w?z-1:z,0,k.splice(w,1)[0]),u.insertBefore(u.children[w],u.children[z])):(k.push(k.splice(w,1)[0]),u.appendChild(u.children[w]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,D(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
+/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){l(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var k=[];c=document.createElement("div");c.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="40px";c.appendChild(n);mxUtils.write(n,mxResources.get("filename")+":");null==b&&(b=a.defaultLibraryName+".xml");var q=document.createElement("input");q.setAttribute("value",
+b);q.style.marginRight="20px";q.style.marginLeft="10px";q.style.width="500px";null==e||e.isRenamable()||q.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};n.appendChild(q);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px";
+u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==k.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var p=document.createElement("div");p.style.position="absolute";p.style.width="640px";p.style.top="260px";p.style.textAlign="center";p.style.fontSize="22px";p.style.color="#a0c3ff";mxUtils.write(p,mxResources.get("dragImagesHere"));c.appendChild(p);var v={},w=null,z=null,t=null;
+b=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=t&&(t(),t=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",b);mxEvent.addListener(u,"pointerdown",b);mxEvent.addListener(u,"touchstart",b);var y=new mxUrlConverter,E=!1;if(null!=d)for(b=0;b<d.length;b++)n=d[b],l(n.data,null,0,0,n.w,n.h,n,n.aspect,n.title);mxEvent.addListener(u,"dragleave",function(a){p.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==p){a.stopPropagation();a.preventDefault();
+break}b=b.parentNode}});var D=function(b){return function(c,d,f,k,e,n,t,g,y){null!=y&&(/(\.vsdx)($|\?)/i.test(y.name)||/(\.vssx)($|\?)/i.test(y.name))?a.importVisio(y,mxUtils.bind(this,function(c){a.spinner.stop();l(c,d,f,k,e,n,t,"fixed",mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," "))})):null!=y&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,y.name)?a.parseFile(y,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=
+c.status&&(l(c.responseText,d,f,k,e,n,t,"fixed",mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(l(c,d,f,k,e,n,t,"fixed",mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",m);mxEvent.addListener(u,"drop",f);mxEvent.addListener(p,"dragover",m);mxEvent.addListener(p,"drop",f);c.appendChild(u);d=document.createElement("div");d.style.textAlign="right";
 d.style.marginTop="20px";b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.setAttribute("id","btnCancel");b.className="geBtn";a.editor.cancelFirst&&d.appendChild(b);n=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(k),c=q.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document,
-"_blank")});n.setAttribute("id","btnDownload");n.className="geBtn";d.appendChild(n);var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(x,"change",function(b){E=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,d,g,k,e,n,u,f){D(b)(a,c,d,g,k,e,n,u,f);x.value=""});t.scrollTop=t.scrollHeight}),n=mxUtils.button(mxResources.get("import"),function(){null!=u&&(u(),u=null);x.click()}),n.setAttribute("id",
-"btnAddImage"),n.className="geBtn",d.appendChild(n));n=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=u&&(u(),u=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){E=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}l(a,null,0,0,b,c);t.scrollTop=t.scrollHeight}})});n.setAttribute("id","btnAddImageUrl");n.className="geBtn";d.appendChild(n);this.saveBtnClickHandler=function(b,c,d,g){a.saveLibrary(b,
-c,d,g)};n=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=u&&(u(),u=null);this.saveBtnClickHandler(q.value,k,e,f)}));n.setAttribute("id","btnSave");n.className="geBtn gePrimaryBtn";d.appendChild(n);a.editor.cancelFirst||d.appendChild(b);c.appendChild(d);this.container=c},EditShapeDialog=function(a,b,c,d,e){d=null!=d?d:300;e=null!=e?e:120;var f,h,l=document.createElement("table"),m=document.createElement("tbody");l.style.cellPadding="4px";f=document.createElement("tr");h=
-document.createElement("td");h.setAttribute("colspan","2");h.style.fontSize="10pt";mxUtils.write(h,c);f.appendChild(h);m.appendChild(f);f=document.createElement("tr");h=document.createElement("td");var g=document.createElement("textarea");g.style.outline="none";g.style.resize="none";g.style.width=d-200+"px";g.style.height=e+"px";this.textarea=g;this.init=function(){g.focus();g.scrollTop=0};h.appendChild(g);f.appendChild(h);h=document.createElement("td");c=document.createElement("div");c.style.position=
-"relative";c.style.border="1px solid gray";c.style.top="6px";c.style.width="200px";c.style.height=e+4+"px";c.style.overflow="hidden";c.style.marginBottom="16px";mxEvent.disableContextMenu(c);h.appendChild(c);var k=new Graph(c);k.setEnabled(!1);var n=a.editor.graph.cloneCells([b])[0];k.addCells([n]);c=k.view.getState(n);var q="";null!=c.shape&&null!=c.shape.stencil&&(q=mxUtils.getPrettyXml(c.shape.stencil.desc));mxUtils.write(g,q||"");c=k.getGraphBounds();e=Math.min(160/c.width,(e-40)/c.height);k.view.scaleAndTranslate(e,
-20/e-c.x,20/e-c.y);f.appendChild(h);m.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.setAttribute("colspan","2");h.style.paddingTop="2px";h.style.whiteSpace="nowrap";h.setAttribute("align","right");e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&h.appendChild(e);a.isOffline()||(c=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
-c.className="geBtn",h.appendChild(c));var t=function(b,c,d){var k=g.value,e=mxUtils.parseXml(k),k=mxUtils.getPrettyXml(e.documentElement),e=e.documentElement.getElementsByTagName("parsererror");if(null!=e&&0<e.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),e=!b.model.contains(c),!d||e||k!=q){k=a.editor.graph.compress(k);b.getModel().beginUpdate();try{if(e){var n=a.editor.graph.getInsertPoint();c.geometry.x=n.x;
-c.geometry.y=n.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+k+")",[c])}catch(E){throw E;}finally{b.getModel().endUpdate()}e&&b.setSelectionCell(c)}};c=mxUtils.button(mxResources.get("preview"),function(){t(k,n,!1)});c.className="geBtn";h.appendChild(c);c=mxUtils.button(mxResources.get("apply"),function(){t(a.editor.graph,b,!0)});c.className="geBtn gePrimaryBtn";h.appendChild(c);a.editor.cancelFirst||h.appendChild(e);f.appendChild(h);m.appendChild(f);l.appendChild(m);this.container=
-l},CustomDialog=function(a,b,c,d,e,f,h,l){var m=document.createElement("div");m.appendChild(b);b=document.createElement("div");b.style.marginTop="16px";b.style.textAlign="center";null!=h&&b.appendChild(h);h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});h.className="geBtn";l&&(h.style.display="none");a.editor.cancelFirst&&b.appendChild(h);a.isOffline()||null==f||(l=mxUtils.button(mxResources.get("help"),function(){a.openLink(f)}),l.className="geBtn",b.appendChild(l));
+"_blank")});n.setAttribute("id","btnDownload");n.className="geBtn";d.appendChild(n);var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(x,"change",function(b){E=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,d,f,k,e,n,t,g){D(b)(a,c,d,f,k,e,n,t,g);x.value=""});u.scrollTop=u.scrollHeight}),n=mxUtils.button(mxResources.get("import"),function(){null!=t&&(t(),t=null);x.click()}),n.setAttribute("id",
+"btnAddImage"),n.className="geBtn",d.appendChild(n));n=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=t&&(t(),t=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){E=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}l(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})});n.setAttribute("id","btnAddImageUrl");n.className="geBtn";d.appendChild(n);this.saveBtnClickHandler=function(b,c,d,f){a.saveLibrary(b,
+c,d,f)};n=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=t&&(t(),t=null);this.saveBtnClickHandler(q.value,k,e,g)}));n.setAttribute("id","btnSave");n.className="geBtn gePrimaryBtn";d.appendChild(n);a.editor.cancelFirst||d.appendChild(b);c.appendChild(d);this.container=c},EditShapeDialog=function(a,b,c,d,e){d=null!=d?d:300;e=null!=e?e:120;var g,h,l=document.createElement("table"),m=document.createElement("tbody");l.style.cellPadding="4px";g=document.createElement("tr");h=
+document.createElement("td");h.setAttribute("colspan","2");h.style.fontSize="10pt";mxUtils.write(h,c);g.appendChild(h);m.appendChild(g);g=document.createElement("tr");h=document.createElement("td");var f=document.createElement("textarea");f.style.outline="none";f.style.resize="none";f.style.width=d-200+"px";f.style.height=e+"px";this.textarea=f;this.init=function(){f.focus();f.scrollTop=0};h.appendChild(f);g.appendChild(h);h=document.createElement("td");c=document.createElement("div");c.style.position=
+"relative";c.style.border="1px solid gray";c.style.top="6px";c.style.width="200px";c.style.height=e+4+"px";c.style.overflow="hidden";c.style.marginBottom="16px";mxEvent.disableContextMenu(c);h.appendChild(c);var k=new Graph(c);k.setEnabled(!1);var n=a.editor.graph.cloneCells([b])[0];k.addCells([n]);c=k.view.getState(n);var q="";null!=c.shape&&null!=c.shape.stencil&&(q=mxUtils.getPrettyXml(c.shape.stencil.desc));mxUtils.write(f,q||"");c=k.getGraphBounds();e=Math.min(160/c.width,(e-40)/c.height);k.view.scaleAndTranslate(e,
+20/e-c.x,20/e-c.y);g.appendChild(h);m.appendChild(g);g=document.createElement("tr");h=document.createElement("td");h.setAttribute("colspan","2");h.style.paddingTop="2px";h.style.whiteSpace="nowrap";h.setAttribute("align","right");e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&h.appendChild(e);a.isOffline()||(c=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
+c.className="geBtn",h.appendChild(c));var u=function(b,c,d){var k=f.value,e=mxUtils.parseXml(k),k=mxUtils.getPrettyXml(e.documentElement),e=e.documentElement.getElementsByTagName("parsererror");if(null!=e&&0<e.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),e=!b.model.contains(c),!d||e||k!=q){k=a.editor.graph.compress(k);b.getModel().beginUpdate();try{if(e){var n=a.editor.graph.getInsertPoint();c.geometry.x=n.x;
+c.geometry.y=n.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+k+")",[c])}catch(E){throw E;}finally{b.getModel().endUpdate()}e&&b.setSelectionCell(c)}};c=mxUtils.button(mxResources.get("preview"),function(){u(k,n,!1)});c.className="geBtn";h.appendChild(c);c=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,b,!0)});c.className="geBtn gePrimaryBtn";h.appendChild(c);a.editor.cancelFirst||h.appendChild(e);g.appendChild(h);m.appendChild(g);l.appendChild(m);this.container=
+l},CustomDialog=function(a,b,c,d,e,g,h,l){var m=document.createElement("div");m.appendChild(b);b=document.createElement("div");b.style.marginTop="16px";b.style.textAlign="center";null!=h&&b.appendChild(h);h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});h.className="geBtn";l&&(h.style.display="none");a.editor.cancelFirst&&b.appendChild(h);a.isOffline()||null==g||(l=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),l.className="geBtn",b.appendChild(l));
 e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c()});b.appendChild(e);e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(h);m.appendChild(b);this.cancelBtn=h;this.okButton=e;this.container=m};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC":
 IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=":
 IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==":
@@ -7050,43 +7114,43 @@ a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var b=doc
 null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&
 (b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=
 null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),
-null!=d&&(g=new mxCodec(d.ownerDocument),g.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var g=new mxCodec(d.ownerDocument);g.decode(d,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,
+null!=d&&(f=new mxCodec(d.ownerDocument),f.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var f=new mxCodec(d.ownerDocument);f.decode(d,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,
 c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&
 c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return c};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),
-null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(w){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var g=0;g<c.length;g++)if("mxgraph"==c[g].getAttribute("class")){d.push(c[g]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=
+null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(y){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var f=0;f<c.length;f++)if("mxgraph"==c[f].getAttribute("class")){d.push(c[f]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=
 c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;
 else throw{message:mxResources.get("notADiagramFile")};null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(c=this.graph.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};var c=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled=
 "1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;c.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";
 Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js",
 "noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init=
-function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var g=document.createElement("script");g.type="text/javascript";g.src=a;d[0].parentNode.appendChild(g)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;
-var b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,d,g){void 0!==c?b.push(c.replace(/\\'/g,"'")):void 0!==d?b.push(d.replace(/\\"/g,'"')):void 0!==g&&b.push(g);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
-var f=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){f.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var h=Format.prototype.init;Format.prototype.init=function(){h.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
+function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var f=document.createElement("script");f.type="text/javascript";f.src=a;d[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;
+var b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,d,f){void 0!==c?b.push(c.replace(/\\'/g,"'")):void 0!==d?b.push(d.replace(/\\"/g,'"')):void 0!==f&&b.push(f);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
+var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var h=Format.prototype.init;Format.prototype.init=function(){h.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
 l.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var m=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=m.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,c=b.editor.graph,d=this.createOption(mxResources.get("shadow"),
-function(){return c.shadowVisible},function(a){var d=new ChangePageSetup(b);d.ignoreColor=!0;d.ignoreImage=!0;d.shadowVisible=a;c.model.execute(d)},{install:function(a){this.listener=function(){a(c.shadowVisible)};b.addListener("shadowVisibleChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});Editor.shadowOptionEnabled||(d.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(d,60));a.appendChild(d)}return a};var g=DiagramFormatPanel.prototype.addOptions;
-DiagramFormatPanel.prototype.addOptions=function(a){a=g.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var d=b.getCurrentFile();null!=d&&d.isAutosaveOptional()&&(d=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(d))}if(this.isMathOptionVisible()&&
+function(){return c.shadowVisible},function(a){var d=new ChangePageSetup(b);d.ignoreColor=!0;d.ignoreImage=!0;d.shadowVisible=a;c.model.execute(d)},{install:function(a){this.listener=function(){a(c.shadowVisible)};b.addListener("shadowVisibleChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});Editor.shadowOptionEnabled||(d.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(d,60));a.appendChild(d)}return a};var f=DiagramFormatPanel.prototype.addOptions;
+DiagramFormatPanel.prototype.addOptions=function(a){a=f.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var d=b.getCurrentFile();null!=d&&d.isAutosaveOptional()&&(d=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(d))}if(this.isMathOptionVisible()&&
 c.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});d.style.paddingTop="0px";a.appendChild(d);var k=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
 k.style.position="relative";k.style.top="4px";d.appendChild(k)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",
 gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[null,{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];var k=StyleFormatPanel.prototype.init;
 StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));k.apply(this,arguments)};var n=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var b=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));b.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+
 ")");b.style.marginBottom="2px";b.style.width="100px";b.style.marginRight="2px";a.appendChild(b);b=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));b.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";a.appendChild(b);mxUtils.br(a);return n.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function b(a){function b(a){var b=
-mxUtils.button("",function(b){d.getModel().beginUpdate();try{var c=d.getSelectionCells();for(b=0;b<c.length;b++){for(var g=d.getModel().getStyle(c[b]),e=0;e<k.length;e++)g=mxUtils.removeStylename(g,k[e]);null!=a?(g=mxUtils.setStyle(g,mxConstants.STYLE_FILLCOLOR,a.fill),g=mxUtils.setStyle(g,mxConstants.STYLE_STROKECOLOR,a.stroke),g=mxUtils.setStyle(g,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(g=mxUtils.setStyle(g,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.setStyle(g,mxConstants.STYLE_STROKECOLOR,
-"#000000"),g=mxUtils.setStyle(g,mxConstants.STYLE_GRADIENTCOLOR,null));d.getModel().setStyle(c[b],g)}}finally{d.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height="30px";b.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?b.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":b.style.backgroundImage="linear-gradient("+
-a.fill+" 0px,"+a.gradient+" 100%)":b.style.backgroundColor=a.fill,b.style.border="1px solid "+a.stroke):(b.style.backgroundColor="#ffffff",b.style.border="1px solid #000000");g.appendChild(b)}g.innerHTML="";for(var c=0;c<a.length;c++)0<c&&0==mxUtils.mod(c,4)&&mxUtils.br(g),b(a[c])}function c(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,g=document.createElement("div");g.style.whiteSpace=
-"nowrap";g.style.paddingLeft="24px";g.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(g);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var e=document.createElement("div");e.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
+mxUtils.button("",function(b){d.getModel().beginUpdate();try{var c=d.getSelectionCells();for(b=0;b<c.length;b++){for(var f=d.getModel().getStyle(c[b]),e=0;e<k.length;e++)f=mxUtils.removeStylename(f,k[e]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,
+"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));d.getModel().setStyle(c[b],f)}}finally{d.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height="30px";b.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?b.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":b.style.backgroundImage="linear-gradient("+
+a.fill+" 0px,"+a.gradient+" 100%)":b.style.backgroundColor=a.fill,b.style.border="1px solid "+a.stroke):(b.style.backgroundColor="#ffffff",b.style.border="1px solid #000000");f.appendChild(b)}f.innerHTML="";for(var c=0;c<a.length;c++)0<c&&0==mxUtils.mod(c,4)&&mxUtils.br(f),b(a[c])}function c(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace=
+"nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var e=document.createElement("div");e.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
 mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);b(this.defaultColorSchemes[this.editorUi.currentScheme])}));var n=document.createElement("div");n.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
 1<this.defaultColorSchemes.length&&(a.appendChild(e),a.appendChild(n));mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);b(this.defaultColorSchemes[this.editorUi.currentScheme])}));c(e);c(n);b(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var b=this.format.getSelectionState(),c=null;1==this.editorUi.editor.graph.getSelectionCount()&&
-(c=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),c.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),c.style.width="202px",c.style.marginBottom="2px",a.appendChild(c));var d=this.editorUi.editor.graph,g=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=g&&null!=g.shape&&null!=g.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
+(c=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),c.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),c.style.width="202px",c.style.marginBottom="2px",a.appendChild(c));var d=this.editorUi.editor.graph,f=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
 function(a){this.editorUi.actions.get("editShape").funct()})),b.setAttribute("title",mxResources.get("editShape")),b.style.marginBottom="2px",null==c?b.style.width="202px":(c.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b)):b.image&&(b=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),b.setAttribute("title",mxResources.get("editImage")),b.style.marginBottom="2px",null==c?b.style.width="202px":
 (c.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize=
 "3";Graph.prototype.edgeMode="move"!=urlParams.edge;var q=Graph.prototype.init;Graph.prototype.init=function(){function a(a){b=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)b=mxUtils.clone(a)}q.apply(this,arguments);var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){b=null});this.isMouseInsertPoint=function(){return null!=b};var c=this.getInsertPoint;
 this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):c.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==b.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(a,b){b.height=Math.max(b.height,20);if(1<b.height/20){var c=b.height%20;b.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(a,
-b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
-b,c){b=null!=b?b:mxConstants.DEFAULT_VALID_COLOR;c=null!=c?c:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),g=new mxCellHighlight(this,b,d,!1);g.highlight(a);window.setTimeout(function(){null!=g.shape&&(mxUtils.setPrefixedStyle(g.shape.node.style,"transition","all 1200ms ease-in-out"),g.shape.node.style.opacity=0);window.setTimeout(function(){g.destroy()},1200)},c)}};Graph.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;
-var d=a.ownerDocument,g=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");g.setAttribute("id",this.shadowId);var k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");g.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");
-k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");g.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feFlood"):d.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");g.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):
-d.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");g.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");g.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),
-null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=k[0];d.appendChild(g);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return g};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter",
+b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
+b,c){b=null!=b?b:mxConstants.DEFAULT_VALID_COLOR;c=null!=c?c:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,b,d,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.destroy()},1200)},c)}};Graph.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;
+var d=a.ownerDocument,f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");f.setAttribute("id",this.shadowId);var k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");
+k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feFlood"):d.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):
+d.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");f.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),
+null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=k[0];d.appendChild(f);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter",
 "url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),b,c=0;do b=this.model.getChildAt(this.model.root,c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!=b&&this.setDefaultParent(b)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];
 mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=
 [SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=
@@ -7094,302 +7158,302 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
 "/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=
 [SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=
 [SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",
-STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var p=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,g,k,e,n,f,h){if(null!=c&&null==mxMarker.markers[c]){var u=this.getPackageForType(c);
-null!=u&&mxStencilRegistry.getStencil(u)}return p.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){p.value=Math.max(1,Math.min(n,Math.max(parseInt(p.value),parseInt(l.value))));l.value=Math.max(1,Math.min(n,Math.min(parseInt(p.value),parseInt(l.value))))}function d(b){function c(b,c,g){var k=b.getGraphBounds(),e=0,n=0,f=ba.get(),u=1/b.pageScale,h=z.checked;if(h)var u=parseInt(Q.value),q=parseInt(P.value),u=Math.min(f.height*q/(k.height/b.view.scale),f.width*u/(k.width/
-b.view.scale));else u=parseInt(y.value)/(100*b.pageScale),isNaN(u)&&(d=1/b.pageScale,y.value="100 %");f=mxRectangle.fromRectangle(f);f.width=Math.ceil(f.width*d);f.height=Math.ceil(f.height*d);u*=d;!h&&b.pageVisible?(k=b.getPageLayout(),e-=k.x*f.width,n-=k.y*f.height):h=!0;if(null==c){c=PrintDialog.createPrintPreview(b,u,f,0,e,n,h);c.pageSelector=!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var w=c.writeHead;c.writeHead=function(b){w.apply(this,arguments);null!=a.editor.fontCss&&
-(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var t=c.renderPage;c.renderPage=function(a,b,c,d,g,k){var e=t.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,g,!0)}else{f=b.background;if(null==f||""==f||f==mxConstants.NONE)f="#ffffff";c.backgroundColor=f;c.autoOrigin=h;c.appendGraph(b,u,e,n,g,!0)}return c}var d=parseInt(U.value)/100;isNaN(d)&&(d=1,U.value=
-"100 %");var d=.75*d,k=l.value,e=p.value,n=!q.checked,u=null;n&&(n=k==f&&e==f);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;q.checked||(h=parseInt(k)-1,n=parseInt(e)-1);for(var t=h;t<=n;t++){var w=a.pages[t],k=w==a.currentPage?g:null;if(null==k){var k=a.createTemporaryGraph(g.getStylesheet()),e=!0,h=!1,v=null,m=null;null==w.viewState&&null==w.mapping&&null==w.root&&a.updatePageRoot(w);null!=w.viewState?(e=w.viewState.pageVisible,h=w.viewState.mathEnabled,v=w.viewState.background,
-m=w.viewState.backgroundImage):null!=w.mapping&&null!=w.mapping.diagramMap&&(h="0"!=w.mapping.diagramMap.get("mathEnabled"),v=w.mapping.diagramMap.get("background"),m=w.mapping.diagramMap.get("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null);k.background=v;k.backgroundImage=null!=m?new mxImage(m.src,m.width,m.height):null;k.pageVisible=e;k.mathEnabled=h;var C=k.getGlobalVariable;k.getGlobalVariable=function(a){return"page"==a?w.getName():"pagenumber"==a?t+1:C.apply(this,arguments)};document.body.appendChild(k.container);
-a.updatePageRoot(w);k.model.setRoot(w.root)}u=c(k,u,t!=n);k!=g&&k.container.parentNode.removeChild(k.container)}}else u=c(g);u.mathEnabled&&(n=u.wnd.document,n.writeln('<script type="text/x-mathjax-config">'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln('"HTML-CSS": {'),n.writeln("imageFont: null"),n.writeln("},"),
+STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var p=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,f,k,e,n,g,h){if(null!=c&&null==mxMarker.markers[c]){var t=this.getPackageForType(c);
+null!=t&&mxStencilRegistry.getStencil(t)}return p.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){p.value=Math.max(1,Math.min(n,Math.max(parseInt(p.value),parseInt(l.value))));l.value=Math.max(1,Math.min(n,Math.min(parseInt(p.value),parseInt(l.value))))}function d(b){function c(b,c,f){var k=b.getGraphBounds(),e=0,n=0,t=ba.get(),g=1/b.pageScale,h=z.checked;if(h)var g=parseInt(Q.value),q=parseInt(P.value),g=Math.min(t.height*q/(k.height/b.view.scale),t.width*g/(k.width/
+b.view.scale));else g=parseInt(w.value)/(100*b.pageScale),isNaN(g)&&(d=1/b.pageScale,w.value="100 %");t=mxRectangle.fromRectangle(t);t.width=Math.ceil(t.width*d);t.height=Math.ceil(t.height*d);g*=d;!h&&b.pageVisible?(k=b.getPageLayout(),e-=k.x*t.width,n-=k.y*t.height):h=!0;if(null==c){c=PrintDialog.createPrintPreview(b,g,t,0,e,n,h);c.pageSelector=!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var u=c.writeHead;c.writeHead=function(b){u.apply(this,arguments);null!=a.editor.fontCss&&
+(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var v=c.renderPage;c.renderPage=function(a,b,c,d,f,k){var e=v.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,f,!0)}else{t=b.background;if(null==t||""==t||t==mxConstants.NONE)t="#ffffff";c.backgroundColor=t;c.autoOrigin=h;c.appendGraph(b,g,e,n,f,!0)}return c}var d=parseInt(U.value)/100;isNaN(d)&&(d=1,U.value=
+"100 %");var d=.75*d,k=l.value,e=p.value,n=!q.checked,t=null;n&&(n=k==g&&e==g);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;q.checked||(h=parseInt(k)-1,n=parseInt(e)-1);for(var u=h;u<=n;u++){var v=a.pages[u],k=v==a.currentPage?f:null;if(null==k){var k=a.createTemporaryGraph(f.getStylesheet()),e=!0,h=!1,y=null,m=null;null==v.viewState&&null==v.mapping&&null==v.root&&a.updatePageRoot(v);null!=v.viewState?(e=v.viewState.pageVisible,h=v.viewState.mathEnabled,y=v.viewState.background,
+m=v.viewState.backgroundImage):null!=v.mapping&&null!=v.mapping.diagramMap&&(h="0"!=v.mapping.diagramMap.get("mathEnabled"),y=v.mapping.diagramMap.get("background"),m=v.mapping.diagramMap.get("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null);k.background=y;k.backgroundImage=null!=m?new mxImage(m.src,m.width,m.height):null;k.pageVisible=e;k.mathEnabled=h;var B=k.getGlobalVariable;k.getGlobalVariable=function(a){return"page"==a?v.getName():"pagenumber"==a?u+1:B.apply(this,arguments)};document.body.appendChild(k.container);
+a.updatePageRoot(v);k.model.setRoot(v.root)}t=c(k,t,u!=n);k!=f&&k.container.parentNode.removeChild(k.container)}}else t=c(f);t.mathEnabled&&(n=t.wnd.document,n.writeln('<script type="text/x-mathjax-config">'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln('"HTML-CSS": {'),n.writeln("imageFont: null"),n.writeln("},"),
 n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"),n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
-u.closeDocument();!u.mathEnabled&&b&&PrintDialog.printPreview(u)}var g=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,f=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var q=document.createElement("input");q.style.cssText="margin-right:8px;margin-bottom:8px;";
-q.setAttribute("value","all");q.setAttribute("type","radio");q.setAttribute("name","pages-printdialog");h.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var t=q.cloneNode(!0);q.setAttribute("checked","checked");t.setAttribute("value","range");h.appendChild(t);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var l=document.createElement("input");l.style.cssText="margin:0 8px 0 8px;";
-l.setAttribute("value","1");l.setAttribute("type","number");l.setAttribute("min","1");l.style.width="50px";h.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var p=l.cloneNode(!0);h.appendChild(p);mxEvent.addListener(l,"focus",function(){t.checked=!0});mxEvent.addListener(p,"focus",function(){t.checked=!0});mxEvent.addListener(l,"change",c);mxEvent.addListener(p,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==
-a.pages[e]){f=e+1;l.value=f;p.value=f;break}l.setAttribute("max",n);p.setAttribute("max",n);1<n&&k.appendChild(h);var v=document.createElement("div");v.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");v.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));v.appendChild(e);var y=document.createElement("input");y.style.cssText=
-"margin:0 8px 0 8px;";y.setAttribute("value","100 %");y.style.width="50px";v.appendChild(y);mxEvent.addListener(y,"focus",function(){m.checked=!0});k.appendChild(v);var h=h.cloneNode(!1),z=m.cloneNode(!0);z.setAttribute("value","fit");m.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(z);h.appendChild(e);v=document.createElement("table");v.style.display="inline-block";var N=document.createElement("tbody"),
+t.closeDocument();!t.mathEnabled&&b&&PrintDialog.printPreview(t)}var f=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,g=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var q=document.createElement("input");q.style.cssText="margin-right:8px;margin-bottom:8px;";
+q.setAttribute("value","all");q.setAttribute("type","radio");q.setAttribute("name","pages-printdialog");h.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var u=q.cloneNode(!0);q.setAttribute("checked","checked");u.setAttribute("value","range");h.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var l=document.createElement("input");l.style.cssText="margin:0 8px 0 8px;";
+l.setAttribute("value","1");l.setAttribute("type","number");l.setAttribute("min","1");l.style.width="50px";h.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var p=l.cloneNode(!0);h.appendChild(p);mxEvent.addListener(l,"focus",function(){u.checked=!0});mxEvent.addListener(p,"focus",function(){u.checked=!0});mxEvent.addListener(l,"change",c);mxEvent.addListener(p,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==
+a.pages[e]){g=e+1;l.value=g;p.value=g;break}l.setAttribute("max",n);p.setAttribute("max",n);1<n&&k.appendChild(h);var v=document.createElement("div");v.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");v.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));v.appendChild(e);var w=document.createElement("input");w.style.cssText=
+"margin:0 8px 0 8px;";w.setAttribute("value","100 %");w.style.width="50px";v.appendChild(w);mxEvent.addListener(w,"focus",function(){m.checked=!0});k.appendChild(v);var h=h.cloneNode(!1),z=m.cloneNode(!0);z.setAttribute("value","fit");m.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(z);h.appendChild(e);v=document.createElement("table");v.style.display="inline-block";var N=document.createElement("tbody"),
 S=document.createElement("tr"),O=S.cloneNode(!0),I=document.createElement("td"),W=I.cloneNode(!0),R=I.cloneNode(!0),T=I.cloneNode(!0),V=I.cloneNode(!0),K=I.cloneNode(!0);I.style.textAlign="right";T.style.textAlign="right";mxUtils.write(I,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);e=document.createElement("span");mxUtils.write(e,
 mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){z.checked=!0});mxEvent.addListener(P,"focus",function(){z.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));K.appendChild(e);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);v.appendChild(N);
 h.appendChild(v);k.appendChild(h);h=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));h.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);h.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));h.appendChild(e);
-var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";h.appendChild(U);k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&e.appendChild(h);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){g.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
+var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";h.appendChild(U);k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&e.appendChild(h);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
 v.className="geBtn",e.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),v.className="geBtn",e.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";e.appendChild(v);a.editor.cancelFirst||e.appendChild(h);k.appendChild(e);this.container=k};var v=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==
 this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(v.apply(this,arguments),null!=this.mathEnabled&&
 this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.7.0";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.7.1";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
-!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=
-b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(p){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=document.createElement("canvas");b.width=b.height=1;var d=b.toDataURL("image/jpeg");
-EditorUi.prototype.jpgSupported=null!==d.match("image/jpeg")}catch(t){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=
-a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=
-function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),g=d.spin;d.spin=function(c,k){var e=!1;this.active||(g.call(this,c),this.active=!0,null!=k&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
-"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=k+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
-Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),e=!0);return e};var k=d.stop;d.stop=function(){k.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
-b){var c=k;k+=b;return a.substring(c,k)}function g(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=g(a);var e=d(a,4);if(null!=b&&b(k-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var b=mxUtils.parseXml(a),c=this.editor.extractGraphModel(b.documentElement,
-!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(q){}return!1};var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("&lt;mxfile ");if(0<=d){var g=b.lastIndexOf("&lt;/mxfile&gt;");g>d&&(c=b.substring(d,g+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),f=this.editor.extractGraphModel(e.documentElement,
-null!=this.pages),c=null!=f?mxUtils.getXml(f):""}catch(v){}return c};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a){b=this.editor.graph;
-b.model.beginUpdate();try{var c=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var g=d.length-1;0<=g;g--){var e=this.updatePageRoot(new DiagramPage(d[g]));null==e.getName()&&e.setName(mxResources.get("pageWithNumber",[g+1]));b.model.execute(new ChangePage(this,e,0==g?e:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=
-a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(g=0;g<c.length;g++)b.model.execute(new ChangePage(this,c[g],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=
-function(a,b,c,d,e,f,h,l,m,u){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;m=null!=m?m:!0;var g,k=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?g="_blank":k=g=d;if(null==a)return"";var n=a;if("mxfile"!=n.nodeName.toLowerCase()){var q=b.zapGremlins(mxUtils.getXml(a)),n=b.compress(q);if(b.decompress(n)!=q)return q;q=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(q,n);n=a.ownerDocument.createElement("mxfile");n.appendChild(q)}u?(n=n.cloneNode(!0),n.removeAttribute("userAgent"),
-n.removeAttribute("version"),n.removeAttribute("editor"),n.removeAttribute("type")):(n.setAttribute("userAgent",navigator.userAgent),n.setAttribute("version",EditorUi.VERSION),n.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&n.setAttribute("type",a));a=mxUtils.getXml(n);if(!f&&!e&&(h||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(n),b,null!=c?c.getTitle():null,g,k);else if(f||!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
-App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),a=this.getEmbeddedSvg(a,b,d,null,l,m,k);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var g=0;g<this.pages.length;g++){var e=
-this.pages[g].mapping;this.currentPage!=this.pages[g]&&null!=e&&e.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[g].node,d),e.needsUpdate=!1);c.appendChild(this.pages[g].node)}}return c};EditorUi.prototype.getFileData=function(a,b,c,d,e,f,h,l,m){e=null!=e?e:!0;h=null!=h?h:this.getXmlFileData(e,null!=f?f:!1);m=null!=m?m:this.getCurrentFile();
-f=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=m&&/(\.svg)$/i.test(m.getTitle()))){f=this.createTemporaryGraph(f.getStylesheet());var g=f.getGlobalVariable,k=this.pages[0];f.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:g.apply(this,arguments)};document.body.appendChild(f.container);f.model.setRoot(k.root)}a=this.createFileData(h,f,m,window.location.href,a,b,c,d,e,l);f!=this.editor.graph&&f.container.parentNode.removeChild(f.container);
-return a};EditorUi.prototype.getHtml=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=null,k="https://www.draw.io/js/embed-static.min.js";if(null!=b){var g=f?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),n=b.view.scale;f=Math.floor(g.x/n-b.view.translate.x);n=Math.floor(g.y/n-b.view.translate.y);g=b.background;null==e&&(b=this.getBasenames().join(";"),0<b.length&&(k="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",f);a.setAttribute("y0",n)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom",
-"1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=d&&a.setAttribute("edit",d));null!=e&&(e=e.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':
-">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+"</head>\n<body"+(null==e&&null!=g&&g!=mxConstants.NONE?' style="background-color:'+g+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==e?'<script type="text/javascript" src="'+k+'">\x3c/script>':
-'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,d,e){null!=e&&(e=e.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,
-this.currentPage));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==e?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var b=null!=a&&0<a.length?
-mxUtils.parseXml(a).documentElement:null;a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b&&"mxfile"==b.nodeName&&(a=b.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=b;this.pages=[];for(b=0;b<a.length;b++){var c=new DiagramPage(a[b]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[b+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];b=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=b&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var b=this.getCurrentFile(),b=null!=b&&null!=
-b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,e,f,h){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var g=this.getBaseFilename(!e),
-k=g+"."+a;if("xml"==a){var n='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(k,a,n,"text/xml")}else if("html"==a)n=this.getHtml2(this.getFileData(!0),this.editor.graph,g),this.saveData(k,a,n,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=g+".png":"jpeg"==a&&(k=g+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,c){try{var g=
-this.editor.graph.pageVisible;null!=f&&(this.editor.graph.pageVisible=f);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=g;return e}catch(C){this.handleError(C)}}));else{var q=null,l=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==a){var v=this.editor.graph.background;if(h||v==
-mxConstants.NONE)v=null;var t=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(t);this.convertImages(t,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();l('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else k=g+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();l(a)}),d)}}catch(F){this.handleError(F)}};
-EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e){var g=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var k="";if(g.width*g.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};g="0";if("xmlpng"==b&&(g="1",b="png",null!=this.pages&&null!=this.currentPage))for(var n=0;n<this.pages.length;n++)if(this.pages[n]==this.currentPage){k="&from="+n;break}n=this.editor.graph.background;"png"==b&&e&&(n=mxConstants.NONE);
-return new mxXmlRequest(EXPORT_URL,"format="+b+k+"&bg="+(null!=n?n:mxConstants.NONE)+"&base64="+d+"&embedXml="+g+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,g=mxUtils.bind(this,function(c){var g=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<g.length&&(g+="\n"),g+=c);c=new LocalFile(this,"csv"!=a.format&&0<g.length?g:this.emptyDiagramXml,
-null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(g,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,k=null,n=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),
-mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),f()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),f=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(n,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){f();n()}));f();n()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
-(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){g(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else g(a.data)};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){editorUi.alert(a.tooltip)});return b}var c=null;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=
-this.editor.graph,g=d.getModel();g.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var f=g.getCell(a.getAttribute("id"));if(null!=f){try{var h=a.getAttribute("value");if(null!=h){var l=mxUtils.parseXml(h).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))g.setValue(f,l);else for(var u=l.attributes,w=0;w<u.length;w++)d.setAttributeForCell(f,u[w].nodeName,0<u[w].nodeValue.length?u[w].nodeValue:null)}}catch(C){null!=window.console&&console.log("Error in value for "+
-f.id+": "+C)}try{var m=a.getAttribute("style");null!=m&&d.model.setStyle(f,m)}catch(C){null!=window.console&&console.log("Error in style for "+f.id+": "+C)}try{var D=a.getAttribute("icon");if(null!=D){var x=0<D.length?JSON.parse(D):null;null!=x&&x.append||d.removeCellOverlays(f);null!=x&&d.addCellOverlay(f,b(x))}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+": "+C)}try{var F=a.getAttribute("geometry");if(null!=F){var F=JSON.parse(F),A=d.getCellGeometry(f);if(null!=A){A=A.clone();
-for(key in F){var B=parseFloat(F[key]);"dx"==key?A.x+=B:"dy"==key?A.y+=B:"dw"==key?A.width+=B:"dh"==key?A.height+=B:A[key]=parseFloat(F[key])}d.model.setGeometry(f,A)}}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+": "+C)}}}else if("model"==a.nodeName){for(var J=a.firstChild;null!=J&&J.nodeType!=mxConstants.NODETYPE_ELEMENT;)J=J.nextSibling;null!=J&&(new mxCodec(a.firstChild)).decode(J,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),
-a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(e=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{g.endUpdate()}null!=e&&this.chromelessResize&&this.chromelessResize(!0,e)}return c};EditorUi.prototype.fileLoaded=function(a){var b=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener),
-c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));
-this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+
-"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));b=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=
-App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(t){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(t){}}catch(t){null!=window.console&&console.log("error in fileLoaded:",a,t);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+
-(null!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(p){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return b};EditorUi.prototype.descriptorChanged=
-function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(n){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,e,f,h){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=
-function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var b=mxUtils.createXmlDocument(),c=b.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(a));b.appendChild(c);return mxUtils.getXml(b)};EditorUi.prototype.closeLibrary=function(a){null!=
-a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var b=this.sidebar.palettes[a];if(null!=b){for(var c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;if(null==a){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=
-this.sidebar.palettes.search);null!=c&&(a=c[c.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,d=c.previousSibling;b.insertBefore(c,a);b.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(b.documentElement));this.libraryLoaded(a,c,b.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};
-EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var e=null,g=mxUtils.bind(this,function(b,c){if(0==b.length&&a.isEditable())null==e&&(e=document.createElement("div"),mxUtils.setPrefixedStyle(e.style,
-"borderRadius","6px"),e.style.border="3px dotted lightGray",e.style.textAlign="center",e.style.padding="8px",e.style.color="#B3B3B3",mxUtils.write(e,mxResources.get("dragElementsHere"))),c.appendChild(e);else for(var d=0;d<b.length;d++){var g=b[d],k=g.data;if(null!=k){var k=this.convertDataUri(k),n="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==g.aspect&&(n+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(n+"image="+k,g.w,g.h,"",g.title||"",!1,
-!1,!0))}else null!=g.xml&&(k=this.stringToCells(this.editor.graph.decompress(g.xml)),0<k.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(k,g.w,g.h,g.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var k=0;k<b.length;k++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+=
-"aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[k]);c=null!=c&&0<c.length?c:a.getTitle();var n=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){g(b,a)}));this.repositionLibrary(d);var f=
-n.parentNode.previousSibling;c=f.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&f.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var u=document.createElement("div");u.style.position="absolute";u.style.right="0px";u.style.top="0px";u.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(u.style.backgroundColor="inherit");f.style.position="relative";var h=document.createElement("img");h.setAttribute("src",Dialog.prototype.closeImage);h.setAttribute("title",
-mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)u.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var m=
-this.editor.graph,x=null,F=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),A=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=x&&null!=x.parentNode&&x.parentNode.removeChild(x),x=h.cloneNode(!1),x.setAttribute("src",Editor.spinImage),x.setAttribute("title",mxResources.get("saving")),x.style.cursor="default",x.style.marginRight="2px",x.style.marginTop="-2px",u.insertBefore(x,u.firstChild),f.style.paddingRight=18*u.childNodes.length+
-"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=x&&null!=x.parentNode&&(x.parentNode.removeChild(x),f.style.paddingRight=18*u.childNodes.length+"px")})):null==l&&(l=h.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),u.insertBefore(l,u.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()||
-(f.style.paddingRight=18*u.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),f.style.paddingRight=18*u.childNodes.length+"px")}),B=mxUtils.bind(this,function(a,c,d,g){a=m.cloneCells(mxUtils.sortCells(m.model.getTopmostCells(a)));for(var k=0;k<a.length;k++){var f=m.getCellGeometry(a[k]);null!=f&&f.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,g||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
-w:c.width,h:c.height};null!=g&&(a.title=g);b.push(a);A(d);null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)}),J=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())m.getRubberband().isActive()?(m.getRubberband().execute(a),m.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x;
-c.y-=m.view.translate.y;B(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="hidden",null!=e?e.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",n.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1),
-null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler&&(n.style.border="3px solid transparent",null!=e&&(e.style.border="3px dotted lightGray"),n.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),m.isMouseDown=!1,m.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&&
-null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="visible"),null!=e&&(e.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=e?e.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)";
-a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=e&&(e.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,f,u,h,l,q,w){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+
-this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,u,h),c)],c[0].vertex=!0,B(c,new mxRectangle(0,0,u,h),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null);else{var m=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var f=JSON.parse(mxUtils.getTextContent(k.documentElement));g(f,n);b=b.concat(f);A(a);
-this.spinner.stop();m=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var u=k.documentElement.getElementsByTagName("diagram"),k=0;k<u.length;k++){var f=mxUtils.getTextContent(u[k]),h=this.stringToCells(this.editor.graph.decompress(f)),l=this.editor.graph.getBoundingBoxFromGeometry(h);B(h,new mxRectangle(0,0,l.width,l.height),a)}m=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
-null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)});null!=w&&null!=l&&(/(\.vsdx?)($|\?)/i.test(l)||/(\.vssx)($|\?)/i.test(l))?this.importVisio(w,function(a){v(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,l)&&null!=w?this.parseFile(w,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
-"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=e?e.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",n.style.cursor="");a.stopPropagation();a.preventDefault()}));h=h.cloneNode(!1);h.setAttribute("src",Editor.editImage);h.setAttribute("title",mxResources.get("edit"));u.insertBefore(h,u.firstChild);mxEvent.addListener(h,"click",F);mxEvent.addListener(n,
-"dblclick",function(a){mxEvent.getSource(a)==n&&F(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));u.insertBefore(c,u.firstChild);mxEvent.addListener(c,"click",J);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,
-mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),u.insertBefore(c,u.firstChild))}f.appendChild(u);f.style.paddingRight=18*u.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
-if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?
-(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
-5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
-Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
-Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
-"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var b=document.getElementById("geFooter");null!=b&&(this.footerHeight=a,b.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,d,e){a=new ImageDialog(this,a,b,c,d,e);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
-!0;this.editor.graph.model.execute(a)});var b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
-a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=
-this.spinner.pause?this.spinner.pause():function(){},e=null!=a&&null!=a.error?a.error:a;if(null!=e||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var g=mxResources.get("ok"),k=null;b=null!=b?b:mxResources.get("error");if(null!=e)if(null!=e.retry&&(g=mxResources.get("cancel"),k=function(){d();e.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
-else if(404==e.code||404==e.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var n=window.location.hash;null!=n&&"#G"==n.substring(0,2)&&(n=n.substring(2),a+=' <a href="https://drive.google.com/open?id='+n+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else e.code==App.ERROR_TIMEOUT?a=
-mxUtils.htmlEntities(mxResources.get("timeout")):e.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=e.message?a=mxUtils.htmlEntities(e.message):null!=e.response&&null!=e.response.error&&(a=mxUtils.htmlEntities(e.response.error));this.showError(b,a,g,c,k)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,d,e,f,h,l,m,u,w,E){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,f,h,E,l,m);this.showDialog(a.container,u||340,w||150,!0,!1);a.init()};EditorUi.prototype.alert=
-function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var g=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){g();null!=b&&b()},function(){g();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
-EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
-return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,e=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(e,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};
-EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
-"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var g=document.createElement("a"),k=!mxClient.IS_SF&&"undefined"!==typeof g.download;if(mxClient.IS_GC)var n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),k=65==(n?parseInt(n[2],10):!1)?!1:k;if(k||this.isOffline()){g.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));k?g.download=b:g.setAttribute("target","_blank");document.body.appendChild(g);try{window.setTimeout(function(){URL.revokeObjectURL(g.href)},
-0),g.click(),g.parentNode.removeChild(g)}catch(z){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=f?"&base64="+f:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),g=Array(e),
-k=0;k<e;++k){for(var f=1024*k,h=Math.min(f+1024,d),u=Array(h-f),l=0;f<h;++l,++f)u[l]=c[f].charCodeAt(0);g[k]=new Uint8Array(u)}return new Blob(g,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,f,h){f=null!=f?f:!1;h=null!=h?h:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(f);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var g=window.open("about:blank");
-null==g?mxUtils.popup(a,!0):(g.document.write(mxUtils.htmlEntities(a,!1)),g.document.close())}else this.openInNewWindow(a,c,d);else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(g){try{this.exportFile(a,b,c,d,e,g)}catch(E){this.handleError(E)}}))}catch(w){this.handleError(w)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,f,h,null,1<e,4<e&&(!f||6>e)?3:4,
-a,c,d);this.showDialog(b.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
-b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=
-this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color=
-"#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var e=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});e.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,
-function(a){e.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(c.substring(c.indexOf(",")+
-1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
-g){return this.createEchoRequest(c,a,d,e,b,g)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,f,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var g=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=a&&0<a.length){var g=c("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=g&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?g.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,
-function(c){f=null!=f?f:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,f,!0,e,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&g.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=g.getStatus()&&299>=g.getStatus())try{this.exportFile(g.getText(),a,f,!0,e,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),
-mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,h,null,1<g,4<g?3:4,d,f,e);this.showDialog(a.container,380,g==(mxClient.IS_IOS?0:1)?160:4<g?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,h,l,m){if(this.spinner.spin(document.body,
-mxResources.get("export"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;g=b?null:this.editor.graph.background;g==mxConstants.NONE&&(g=null);null==g&&0==b&&(g="#ffffff");var k=this.editor.graph.getSvg(g,a,h,l,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",q=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,m));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS?
-b.createElementNS(mxConstants.NS_SVG,"style"):b.createElement("style");b.setAttribute("type","text/css");mxUtils.setTextContent(b,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(b)}var d='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||d.length<=MAX_REQUEST_SIZE?this.saveData(n,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
-mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.convertMath(this.editor.graph,k,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,q,this.thumbImageCache)):q(k)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=document.createElement("input");g.style.marginRight="8px";g.style.marginTop="16px";g.setAttribute("type","checkbox");c&&(g.setAttribute("checked","checked"),g.defaultChecked=!0);d&&g.setAttribute("disabled",
-"disabled");f&&(a.appendChild(g),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=g.getAttribute("disabled")&&(g.checked=!g.checked,mxEvent.consume(a))})));return g};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),e="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&&
-(e=window.location.href);var g=document.createElement("select");g.style.width="120px";g.style.marginLeft="8px";g.style.marginRight="10px";g.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));g.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");g.appendChild(d);a.appendChild(g);mxEvent.addListener(g,"change",mxUtils.bind(this,function(){if("custom"==
-g.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:g.value="blank"},mxResources.get("url"),null,null,null,null,function(){g.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===g.value?"_blank":e:null},getEditInput:function(){return c},
-getEditSelect:function(){return g}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=g&&g!=mxConstants.NONE?"border:1px solid black;background-color:"+g:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft=
-"8px";d.style.marginRight="10px";d.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));d.appendChild(e);b&&(e=document.createElement("option"),e.setAttribute("value",
-"frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(e));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var g="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(g||"none",function(a){g=a;c()});mxEvent.consume(a)}));c();k.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width="22px";k.style.position="relative";k.style.top=mxClient.IS_IE||
-mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return g},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,f,h,l){var g=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),f&&
-k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(g=this.getCurrentFile(),l||null==g||g.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+g.getHash(),a=!1));
-a&&null!=g&&null!=g.getTitle()&&g.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(g.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,f,h,l,m,u,w){this.getBasenames();var g={};""!=e&&e!=mxConstants.NONE&&(g.highlight=e);"auto"!==d&&(g.target=d);m||(g.lightbox=!1);g.nav=this.editor.graph.foldingEnabled;
-c=parseInt(c);isNaN(c)||100==c||(g.zoom=c/100);c=[];h&&(c.push("pages"),g.resize=!0,null!=this.pages&&null!=this.currentPage&&(g.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),g.resize=!0);l&&c.push("layers");0<c.length&&(m&&c.push("lightbox"),g.toolbar=c.join(" "));null!=u&&0<u.length&&(g.edit=u);null!=a?g.url=a:g.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(f?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(g))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";w(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");
-mxUtils.write(g,mxResources.get("html"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(g);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","type-embedhtmldialog");g=f.cloneNode(!0);g.setAttribute("value",
-"copy");k.appendChild(g);var n=document.createElement("span");mxUtils.write(n,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(n);mxUtils.br(k);k.appendChild(f);n=document.createElement("span");mxUtils.write(n,mxResources.get("publicDiagramUrl"));k.appendChild(n);var u=this.getCurrentFile();null==c&&null!=u&&u.constructor==window.DriveFile&&(n=document.createElement("a"),n.style.paddingLeft="12px",n.style.color="gray",n.setAttribute("href","javascript:void(0);"),mxUtils.write(n,mxResources.get("share")),
-k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(u.getId())})));g.setAttribute("checked","checked");null==c&&f.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),l=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight=
-"12px";m.value="100%";e.appendChild(m);var q=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,F=F=this.addCheckbox(e,mxResources.get("allPages"),k,!k),A=this.addCheckbox(e,mxResources.get("layers"),!0),B=this.addCheckbox(e,mxResources.get("lightbox"),!0),J=this.addEditButton(e,B),C=J.getEditInput();C.style.marginBottom="16px";mxEvent.addListener(B,"change",function(){B.checked?C.removeAttribute("disabled"):C.setAttribute("disabled","disabled");C.checked&&B.checked?
-J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(f.checked?c:null,l.checked,m.value,h.getTarget(),h.getColor(),q.checked,F.checked,A.checked,B.checked,J.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);g.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,f){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=document.createElement("h3");
-mxUtils.write(k,a||mxResources.get("link"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(k);var n=this.getCurrentFile(),k="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=n&&n.constructor==window.DriveFile&&!b){a=80;var k="https://desk.draw.io/support/solutions/articles/16000039384",u=document.createElement("div");u.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
-var h=document.createElement("div");h.style.whiteSpace="normal";mxUtils.write(h,mxResources.get("linkAccountRequired"));u.appendChild(h);h=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(n.getId())}));h.style.marginTop="12px";h.className="geBtn";u.appendChild(h);g.appendChild(u);h=document.createElement("a");h.style.paddingLeft="12px";h.style.color="gray";h.style.fontSize="11px";h.setAttribute("href","javascript:void(0);");mxUtils.write(h,mxResources.get("check"));
-u.appendChild(h);mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,m=null;if(null!=c||null!=d)a+=30,mxUtils.write(g,mxResources.get("width")+":"),l=document.createElement("input"),
-l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",g.appendChild(l),mxUtils.write(g,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",g.appendChild(m),mxUtils.br(g);var q=this.addLinkSection(g,f);c=null!=this.pages&&1<this.pages.length;var p=null;
-if(null==n||n.constructor!=window.DriveFile||b)p=this.addCheckbox(g,mxResources.get("allPages"),c,!c);var t=this.addCheckbox(g,mxResources.get("lightbox"),!0),B=this.addEditButton(g,t),J=B.getEditInput(),C=this.addCheckbox(g,mxResources.get("layers"),!0);C.style.marginLeft=J.style.marginLeft;C.style.marginBottom="16px";C.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(C.removeAttribute("disabled"),J.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),J.setAttribute("disabled",
-"disabled"));J.checked&&t.checked?B.getEditSelect().removeAttribute("disabled"):B.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){e(q.getTarget(),q.getColor(),null==p?!0:p.checked,t.checked,B.getLink(),C.checked,null!=l?l.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():
-document.execCommand("selectAll",!1,null)):q.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");mxUtils.write(g,mxResources.get("image"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g);var k=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),f=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),
-!0),g=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),g.background==mxConstants.NONE||null==g.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=f?f.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,f,h,l){h=null!=h?h:!0;var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=
-this.editor.graph,n="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";g.appendChild(m);mxUtils.write(g,mxResources.get("zoom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width="60px";q.style.marginLeft="4px";q.style.marginRight="12px";q.value=this.lastExportZoom||"100%";g.appendChild(q);mxUtils.write(g,mxResources.get("borderWidth")+":");
-var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.value=this.lastExportBorder||"0";g.appendChild(p);mxUtils.br(g);var v=this.addCheckbox(g,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=l),t=this.addCheckbox(g,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight=
-"8px";y.style.marginLeft="24px";y.setAttribute("disabled","disabled");y.setAttribute("type","checkbox");f&&(g.appendChild(y),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),n+=26,mxEvent.addListener(t,"change",function(){t.checked?y.removeAttribute("disabled"):y.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(y.setAttribute("checked","checked"),y.defaultChecked=!0);var J=this.addCheckbox(g,mxResources.get("shadow"),k.shadowVisible),C=document.createElement("input");C.style.marginTop=
-"16px";C.style.marginRight="8px";C.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||C.setAttribute("disabled","disabled");b&&(g.appendChild(C),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),n+=26);var L=this.addCheckbox(g,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=l),H=null!=this.pages&&1<this.pages.length,G=this.addCheckbox(g,H?mxResources.get("allPages"):"",H,!H,null,"jpeg"!=l);G.style.marginLeft="24px";G.style.marginBottom="16px";H||(G.style.visibility=
-"hidden");mxEvent.addListener(L,"change",function(){L.checked&&H?G.removeAttribute("disabled"):G.setAttribute("disabled","disabled")});h&&H||G.setAttribute("disabled","disabled");a=new CustomDialog(this,g,mxUtils.bind(this,function(){this.lastExportBorder=p.value;this.lastExportZoom=q.value;e(q.value,v.checked,!t.checked,J.checked,L.checked,C.checked,p.value,y.checked,!G.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
-mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var f=document.createElement("h3");mxUtils.write(f,b);f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";g.appendChild(f)}var n=this.addCheckbox(g,mxResources.get("fit"),!0),h=this.addCheckbox(g,mxResources.get("shadow"),k.shadowVisible&&d,
-!d),l=this.addCheckbox(g,c),m=this.addCheckbox(g,mxResources.get("lightbox"),!0),q=this.addEditButton(g,m),t=q.getEditInput(),F=1<k.model.getChildCount(k.model.getRoot()),A=this.addCheckbox(g,mxResources.get("layers"),F,!F);A.style.marginLeft=t.style.marginLeft;A.style.marginBottom="12px";A.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?(F&&A.removeAttribute("disabled"),t.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled"));
-t.checked&&m.checked?q.getEditSelect().removeAttribute("disabled"):q.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){a(n.checked,h.checked,l.checked,m.checked,q.getLink(),A.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,f,h,l){function g(b){var g=" ",n="";d&&(g=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
-(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}})(this);\"",n+="cursor:pointer;");a&&(n+="max-width:100%;");var u="";c&&(u=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+u+(""!=n?' style="'+n+'"':"")+g+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");g(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),
-null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?g("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
-EditorUi.prototype.createEmbedSvg=function(a,b,c,d,e,f,h){var g=this.editor.graph.getSvg(),k=g.getElementsByTagName("a");if(null!=k)for(var n=0;n<k.length;n++){var l=k[n].getAttribute("href");null!=l&&"#"==l.charAt(0)&&"_blank"==k[n].getAttribute("target")&&k[n].removeAttribute("target")}d&&g.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(g);if(c){var m=" ",q="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
-(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}})(this);\"",q+="cursor:pointer;");a&&(q+="max-width:100%;");this.convertImages(g,mxUtils.bind(this,function(a){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=q?' style="'+q+'"':"")+m+"/>")}))}else q="",d&&(g.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
-(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}}})(this);"),q+="cursor:pointer;"),a&&(a=parseInt(g.getAttribute("width")),b=parseInt(g.getAttribute("height")),g.setAttribute("viewBox","0 0 "+a+" "+b),q+="max-width:100%;max-height:"+b+"px;",g.removeAttribute("height")),""!=q&&g.setAttribute("style",q),h(mxUtils.getXml(g))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+
+!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=
+null!=a&&6<a.length}catch(p){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(u){}try{b=document.createElement("canvas");b.width=b.height=1;var d=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==d.match("image/jpeg")}catch(u){}})();
+EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();
+this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,
+length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,k){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=k&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize="9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight=
+"10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=k+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,
+b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),e=!0);return e};var k=d.stop;d.stop=function(){k.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,b){var c=k;k+=b;return a.substring(c,k)}function f(a){a=d(a,4);return a.charCodeAt(3)+
+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(k-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var b=mxUtils.parseXml(a),c=this.editor.extractGraphModel(b.documentElement,!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(q){}return!1};
+var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("&lt;mxfile ");if(0<=d){var f=b.lastIndexOf("&lt;/mxfile&gt;");f>d&&(c=b.substring(d,f+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),g=this.editor.extractGraphModel(e.documentElement,null!=this.pages),c=null!=g?mxUtils.getXml(g):""}catch(v){}return c};EditorUi.prototype.validateFileData=
+function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a){b=this.editor.graph;b.model.beginUpdate();try{var c=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");
+if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var f=d.length-1;0<=f;f--){var e=this.updatePageRoot(new DiagramPage(d[f]));null==e.getName()&&e.setName(mxResources.get("pageWithNumber",[f+1]));b.model.execute(new ChangePage(this,e,0==f?e:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),
+this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(f=0;f<c.length;f++)b.model.execute(new ChangePage(this,c[f],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,g,h,l,m,t){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;m=null!=m?m:!0;var f,k=null;null==c||
+c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":k=f=d;if(null==a)return"";var n=a;if("mxfile"!=n.nodeName.toLowerCase()){var q=b.zapGremlins(mxUtils.getXml(a)),n=b.compress(q);if(b.decompress(n)!=q)return q;q=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(q,n);n=a.ownerDocument.createElement("mxfile");n.appendChild(q)}t?(n=n.cloneNode(!0),n.removeAttribute("userAgent"),n.removeAttribute("version"),n.removeAttribute("editor"),n.removeAttribute("type")):(n.setAttribute("userAgent",
+navigator.userAgent),n.setAttribute("version",EditorUi.VERSION),n.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&n.setAttribute("type",a));a=mxUtils.getXml(n);if(!g&&!e&&(h||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(n),b,null!=c?c.getTitle():null,f,k);else if(g||!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),a=this.getEmbeddedSvg(a,b,d,null,l,m,k);return a};EditorUi.prototype.getXmlFileData=
+function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),
+e.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[f].node,d),e.needsUpdate=!1);c.appendChild(this.pages[f].node)}}return c};EditorUi.prototype.getFileData=function(a,b,c,d,e,g,h,l,m){e=null!=e?e:!0;h=null!=h?h:this.getXmlFileData(e,null!=g?g:!1);m=null!=m?m:this.getCurrentFile();g=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=m&&/(\.svg)$/i.test(m.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());
+var f=g.getGlobalVariable,k=this.pages[0];g.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(k.root)}a=this.createFileData(h,g,m,window.location.href,a,b,c,d,e,l);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);return a};EditorUi.prototype.getHtml=function(a,b,c,d,e,g){g=null!=g?g:!0;var f=null,k="https://www.draw.io/js/embed-static.min.js";if(null!=b){var f=g?b.getGraphBounds():
+b.getBoundingBox(b.getSelectionCells()),n=b.view.scale;g=Math.floor(f.x/n-b.view.translate.x);n=Math.floor(f.y/n-b.view.translate.y);f=b.background;null==e&&(b=this.getBasenames().join(";"),0<b.length&&(k="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",n)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=d&&a.setAttribute("edit",d));null!=
+e&&(e=e.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?
+'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+"</head>\n<body"+(null==e&&null!=f&&f!=mxConstants.NONE?' style="background-color:'+f+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==e?'<script type="text/javascript" src="'+k+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+
+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,d,e){null!=e&&(e=e.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':
+">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==e?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+
+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var b=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b&&"mxfile"==b.nodeName&&(a=b.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=
+b;this.pages=[];for(b=0;b<a.length;b++){var c=new DiagramPage(a[b]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[b+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];b=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=b&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",
+[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var b=this.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&
+0<this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,e,g,h){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e),k=f+"."+a;if("xml"==a){var n='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(k,a,n,"text/xml")}else if("html"==a)n=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(k,
+a,n,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=f+".png":"jpeg"==a&&(k=f+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,c){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=f;return e}catch(B){this.handleError(B)}}));else{var q=null,l=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",
+a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==a){var v=this.editor.graph.background;if(h||v==mxConstants.NONE)v=null;var u=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(u);this.convertImages(u,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();l('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a))})))}else k=f+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();l(a)}),d)}}catch(J){this.handleError(J)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var k="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(var n=
+0;n<this.pages.length;n++)if(this.pages[n]==this.currentPage){k="&from="+n;break}n=this.editor.graph.background;"png"==b&&e&&(n=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+k+"&bg="+(null!=n?n:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=
+null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,k=null,
+n=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(n,e)});this.editor.addListener("pageSelected",
+mxUtils.bind(this,function(){g();n()}));g();n()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){editorUi.alert(a.tooltip)});
+return b}var c=null;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=this.editor.graph,f=d.getModel();f.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var g=f.getCell(a.getAttribute("id"));if(null!=g){try{var h=a.getAttribute("value");if(null!=h){var l=mxUtils.parseXml(h).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))f.setValue(g,l);else for(var t=l.attributes,y=0;y<t.length;y++)d.setAttributeForCell(g,
+t[y].nodeName,0<t[y].nodeValue.length?t[y].nodeValue:null)}}catch(B){null!=window.console&&console.log("Error in value for "+g.id+": "+B)}try{var m=a.getAttribute("style");null!=m&&d.model.setStyle(g,m)}catch(B){null!=window.console&&console.log("Error in style for "+g.id+": "+B)}try{var D=a.getAttribute("icon");if(null!=D){var x=0<D.length?JSON.parse(D):null;null!=x&&x.append||d.removeCellOverlays(g);null!=x&&d.addCellOverlay(g,b(x))}}catch(B){null!=window.console&&console.log("Error in icon for "+
+g.id+": "+B)}try{var J=a.getAttribute("geometry");if(null!=J){var J=JSON.parse(J),A=d.getCellGeometry(g);if(null!=A){A=A.clone();for(key in J){var C=parseFloat(J[key]);"dx"==key?A.x+=C:"dy"==key?A.y+=C:"dw"==key?A.width+=C:"dh"==key?A.height+=C:A[key]=parseFloat(J[key])}d.model.setGeometry(g,A)}}}catch(B){null!=window.console&&console.log("Error in icon for "+g.id+": "+B)}}}else if("model"==a.nodeName){for(var G=a.firstChild;null!=G&&G.nodeType!=mxConstants.NODETYPE_ELEMENT;)G=G.nextSibling;null!=
+G&&(new mxCodec(a.firstChild)).decode(G,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(e=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{f.endUpdate()}null!=e&&this.chromelessResize&&this.chromelessResize(!0,e)}return c};
+EditorUi.prototype.fileLoaded=function(a){var b=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&
+0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();
+this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();
+this.editor.fireEvent(new mxEventObject("fileLoaded"));b=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(u){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(u){}}catch(u){null!=window.console&&console.log("error in fileLoaded:",a,u);if(EditorUi.enableLogging&&
+!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=u&&null!=u.message?":err:"+encodeURIComponent(u.message):"")+(null!=u&&null!=u.stack?"&stack="+encodeURIComponent(u.stack):"")}catch(p){}this.handleError(u,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?
+window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return b};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(n){}};EditorUi.prototype.restoreLibraries=
+function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,e,g,h){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=
+function(a){var b=mxUtils.createXmlDocument(),c=b.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(a));b.appendChild(c);return mxUtils.getXml(b)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var b=this.sidebar.palettes[a];if(null!=b){for(var c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);
+delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;if(null==a){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=this.sidebar.palettes.search);null!=c&&(a=c[c.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,d=c.previousSibling;b.insertBefore(c,a);b.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElement.nodeName){var c=
+JSON.parse(mxUtils.getTextContent(b.documentElement));this.libraryLoaded(a,c,b.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:
+null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(b,c){if(0==b.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),c.appendChild(f);else for(var d=0;d<b.length;d++){var e=b[d],k=e.data;if(null!=k){var k=this.convertDataUri(k),n="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";
+"fixed"==e.aspect&&(n+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(n+"image="+k,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(k=this.stringToCells(this.editor.graph.decompress(e.xml)),0<k.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(k,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var k=0;k<b.length;k++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=
+this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+="aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[k]);c=null!=c&&0<c.length?c:
+a.getTitle();var n=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var g=n.parentNode.previousSibling;c=g.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&g.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");g.style.position=
+"relative";var h=document.createElement("img");h.setAttribute("src",Dialog.prototype.closeImage);h.setAttribute("title",mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),
+null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var m=this.editor.graph,x=null,J=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),A=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=x&&null!=x.parentNode&&x.parentNode.removeChild(x),x=h.cloneNode(!1),x.setAttribute("src",Editor.spinImage),x.setAttribute("title",mxResources.get("saving")),x.style.cursor="default",
+x.style.marginRight="2px",x.style.marginTop="-2px",t.insertBefore(x,t.firstChild),g.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=x&&null!=x.parentNode&&(x.parentNode.removeChild(x),g.style.paddingRight=18*t.childNodes.length+"px")})):null==l&&(l=h.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),t.insertBefore(l,t.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,
+function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()||(g.style.paddingRight=18*t.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),g.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,c,d,e){a=m.cloneCells(mxUtils.sortCells(m.model.getTopmostCells(a)));for(var k=0;k<a.length;k++){var g=m.getCellGeometry(a[k]);null!=g&&g.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,
+c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);A(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),G=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())m.getRubberband().isActive()?(m.getRubberband().execute(a),m.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=
+m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x;c.y-=m.view.translate.y;C(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",
+n.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler&&(n.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),n.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),
+m.isMouseDown=!1,m.autoScroll=!0,G(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&
+(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,
+0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,g,t,h,l,q,y){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,t,h),c)],c[0].vertex=!0,C(c,new mxRectangle(0,0,t,h),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var m=!1,v=mxUtils.bind(this,function(c,
+d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(k.documentElement));e(g,n);b=b.concat(g);A(a);this.spinner.stop();m=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var t=k.documentElement.getElementsByTagName("diagram"),k=0;k<t.length;k++){var g=mxUtils.getTextContent(t[k]),h=this.stringToCells(this.editor.graph.decompress(g)),l=this.editor.graph.getBoundingBoxFromGeometry(h);C(h,new mxRectangle(0,
+0,l.width,l.height),a)}m=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=y&&null!=l&&(/(\.vsdx?)($|\?)/i.test(l)||/(\.vssx)($|\?)/i.test(l))?this.importVisio(y,function(a){v(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,l)&&null!=y?this.parseFile(y,
+mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",n.style.cursor="");a.stopPropagation();a.preventDefault()}));
+h=h.cloneNode(!1);h.setAttribute("src",Editor.editImage);h.setAttribute("title",mxResources.get("edit"));t.insertBefore(h,t.firstChild);mxEvent.addListener(h,"click",J);mxEvent.addListener(n,"dblclick",function(a){mxEvent.getSource(a)==n&&J(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",G);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),
+c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}g.appendChild(t);g.style.paddingRight=18*t.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=
+64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top=
+"-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=
+3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=
+null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage=
+"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};
+EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display="none",this.refresh())};EditorUi.prototype.showFooter=function(a){var b=document.getElementById("geFooter");null!=b&&(this.footerHeight=a,b.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,d,e){a=new ImageDialog(this,a,b,c,d,e);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,
+!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
+this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,
+function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},e=null!=a&&null!=a.error?a.error:a;if(null!=e||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var f=mxResources.get("ok"),k=null;b=null!=b?b:mxResources.get("error");if(null!=e)if(null!=e.retry&&(f=mxResources.get("cancel"),k=function(){d();e.retry()}),"undefined"!=
+typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==e.code||404==e.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var n=window.location.hash;null!=n&&"#G"==n.substring(0,2)&&(n=n.substring(2),
+a+=' <a href="https://drive.google.com/open?id='+n+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else e.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):e.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=e.message?a=mxUtils.htmlEntities(e.message):null!=e.response&&null!=e.response.error&&(a=mxUtils.htmlEntities(e.response.error));this.showError(b,a,f,c,k)}else null!=c&&c()};EditorUi.prototype.showError=
+function(a,b,c,d,e,g,h,l,m,t,y,E){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,g,h,E,l,m);this.showDialog(a.container,t||340,y||150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=
+b&&b()},function(){f();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
+b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,e=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(e,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&
+(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),
+c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var f=document.createElement("a"),k=!mxClient.IS_SF&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),k=65==(n?parseInt(n[2],
+10):!1)?!1:k;if(k||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));k?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.click(),f.parentNode.removeChild(f)}catch(z){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
+c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),k=0;k<e;++k){for(var g=1024*k,h=Math.min(g+1024,d),t=Array(h-g),l=0;g<h;++l,++g)t[l]=c[g].charCodeAt(0);f[k]=new Uint8Array(t)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,g,h){g=null!=g?g:!1;h=null!=h?h:"vsdx"!=e&&
+(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,d);else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,
+mxUtils.bind(this,function(f){try{this.exportFile(a,b,c,d,e,f)}catch(E){this.handleError(E)}}))}catch(y){this.handleError(y)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,h,null,1<e,4<e&&(!g||6>e)?3:4,a,c,d);this.showDialog(b.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
+window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=
+null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign=
+"center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);
+this.exportDialog.style.zIndex=d.zIndex;var e=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});e.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){e.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";
+a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(c.substring(c.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),
+Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,g,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=
+a&&0<a.length){var f=c("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=f&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?f.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,g,!0,e,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&
+299>=f.getStatus())try{this.exportFile(f.getText(),a,g,!0,e,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,h,null,1<f,4<f?3:4,d,g,e);this.showDialog(a.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
+EditorUi.prototype.exportFile=function(a,b,c,d,e,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,g,h,l,m){if(this.spinner.spin(document.body,mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var k=this.editor.graph.getSvg(f,a,h,l,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",
+q=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,m));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS?b.createElementNS(mxConstants.NS_SVG,"style"):b.createElement("style");b.setAttribute("type","text/css");mxUtils.setTextContent(b,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(b)}var d='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a);this.isLocalFileSave()||d.length<=MAX_REQUEST_SIZE?this.saveData(n,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.convertMath(this.editor.graph,k,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,q,this.thumbImageCache)):q(k)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,d,e,g){g=null!=g?g:!0;var f=
+document.createElement("input");f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type","checkbox");c&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled","disabled");g&&(a.appendChild(f),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(a))})));return f};EditorUi.prototype.addEditButton=
+function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),e="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&&(e=window.location.href);var f=document.createElement("select");f.style.width="120px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));f.appendChild(d);d=document.createElement("option");
+d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");f.appendChild(d);a.appendChild(f);mxEvent.addListener(f,"change",mxUtils.bind(this,function(){if("custom"==f.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:f.value="blank"},mxResources.get("url"),null,null,null,null,function(){f.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||
+b.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===f.value?"_blank":e:null},getEditInput:function(){return c},getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=f&&f!=mxConstants.NONE?"border:1px solid black;background-color:"+f:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft="8px";d.style.marginRight="10px";d.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));d.appendChild(e);e=document.createElement("option");
+e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));d.appendChild(e);b&&(e=document.createElement("option"),e.setAttribute("value","frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(e));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;c()});mxEvent.consume(a)}));c();k.style.padding=
+mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width="22px";k.style.position="relative";k.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,h,l){var f=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+
+a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),g&&k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(f=this.getCurrentFile(),l||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
+this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),a=!1));a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
+b,c,d,e,g,h,l,m,t,y){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);m||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];h&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),f.resize=!0);l&&c.push("layers");0<c.length&&(m&&c.push("lightbox"),f.toolbar=c.join(" "));null!=t&&0<t.length&&(f.edit=t);null!=
+a?f.url=a:f.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";y(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(f);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
+g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");f=g.cloneNode(!0);f.setAttribute("value","copy");k.appendChild(f);var n=document.createElement("span");mxUtils.write(n,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(n);mxUtils.br(k);k.appendChild(g);n=document.createElement("span");mxUtils.write(n,mxResources.get("publicDiagramUrl"));k.appendChild(n);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(n=
+document.createElement("a"),n.style.paddingLeft="12px",n.style.color="gray",n.setAttribute("href","javascript:void(0);"),mxUtils.write(n,mxResources.get("share")),k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),l=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,
+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="12px";m.value="100%";e.appendChild(m);var q=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,J=J=this.addCheckbox(e,mxResources.get("allPages"),k,!k),A=this.addCheckbox(e,mxResources.get("layers"),!0),C=this.addCheckbox(e,mxResources.get("lightbox"),!0),G=this.addEditButton(e,C),B=G.getEditInput();
+B.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?B.removeAttribute("disabled"):B.setAttribute("disabled","disabled");B.checked&&C.checked?G.getEditSelect().removeAttribute("disabled"):G.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,l.checked,m.value,h.getTarget(),h.getColor(),q.checked,J.checked,A.checked,C.checked,G.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};
+EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,a||mxResources.get("link"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(k);var n=this.getCurrentFile(),k="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=n&&n.constructor==window.DriveFile&&!b){a=80;var k="https://desk.draw.io/support/solutions/articles/16000039384",
+t=document.createElement("div");t.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var h=document.createElement("div");h.style.whiteSpace="normal";mxUtils.write(h,mxResources.get("linkAccountRequired"));t.appendChild(h);h=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(n.getId())}));h.style.marginTop="12px";h.className="geBtn";t.appendChild(h);f.appendChild(t);h=document.createElement("a");
+h.style.paddingLeft="12px";h.style.color="gray";h.style.fontSize="11px";h.setAttribute("href","javascript:void(0);");mxUtils.write(h,mxResources.get("check"));t.appendChild(h);mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));
+this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,m=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",f.appendChild(l),mxUtils.write(f,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",
+m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",f.appendChild(m),mxUtils.br(f);var q=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var p=null;if(null==n||n.constructor!=window.DriveFile||b)p=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var u=this.addCheckbox(f,mxResources.get("lightbox"),!0),C=this.addEditButton(f,u),G=C.getEditInput(),B=this.addCheckbox(f,mxResources.get("layers"),!0);B.style.marginLeft=G.style.marginLeft;B.style.marginBottom="16px";
+B.style.marginTop="8px";mxEvent.addListener(u,"change",function(){u.checked?(B.removeAttribute("disabled"),G.removeAttribute("disabled")):(B.setAttribute("disabled","disabled"),G.setAttribute("disabled","disabled"));G.checked&&u.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(q.getTarget(),q.getColor(),null==p?!0:p.checked,u.checked,C.getLink(),B.checked,null!=l?l.value:null,null!=
+m?m.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):q.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+e.appendChild(f);var k=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=g?g.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,
+300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,g,h,l){h=null!=h?h:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=this.editor.graph,n="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(m);mxUtils.write(f,mxResources.get("zoom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width=
+"60px";q.style.marginLeft="4px";q.style.marginRight="12px";q.value=this.lastExportZoom||"100%";f.appendChild(q);mxUtils.write(f,mxResources.get("borderWidth")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.marginRight="16px";v.style.width="60px";v.style.marginLeft="4px";v.value=this.lastExportBorder||"0";f.appendChild(v);mxUtils.br(f);var p=this.addCheckbox(f,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=
+l),u=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),w=document.createElement("input");w.style.marginTop="16px";w.style.marginRight="8px";w.style.marginLeft="24px";w.setAttribute("disabled","disabled");w.setAttribute("type","checkbox");g&&(f.appendChild(w),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),n+=26,mxEvent.addListener(u,"change",function(){u.checked?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(w.setAttribute("checked",
+"checked"),w.defaultChecked=!0);var G=this.addCheckbox(f,mxResources.get("shadow"),k.shadowVisible),B=document.createElement("input");B.style.marginTop="16px";B.style.marginRight="8px";B.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||B.setAttribute("disabled","disabled");b&&(f.appendChild(B),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),n+=26);var L=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=l),H=null!=this.pages&&1<this.pages.length,
+F=this.addCheckbox(f,H?mxResources.get("allPages"):"",H,!H,null,"jpeg"!=l);F.style.marginLeft="24px";F.style.marginBottom="16px";H||(F.style.visibility="hidden");mxEvent.addListener(L,"change",function(){L.checked&&H?F.removeAttribute("disabled"):F.setAttribute("disabled","disabled")});h&&H||F.setAttribute("disabled","disabled");a=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=v.value;this.lastExportZoom=q.value;e(q.value,p.checked,!u.checked,G.checked,L.checked,B.checked,
+v.value,w.checked,!F.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+f.appendChild(g)}var n=this.addCheckbox(f,mxResources.get("fit"),!0),t=this.addCheckbox(f,mxResources.get("shadow"),k.shadowVisible&&d,!d),h=this.addCheckbox(f,c),l=this.addCheckbox(f,mxResources.get("lightbox"),!0),m=this.addEditButton(f,l),q=m.getEditInput(),u=1<k.model.getChildCount(k.model.getRoot()),A=this.addCheckbox(f,mxResources.get("layers"),u,!u);A.style.marginLeft=q.style.marginLeft;A.style.marginBottom="12px";A.style.marginTop="8px";mxEvent.addListener(l,"change",function(){l.checked?
+(u&&A.removeAttribute("disabled"),q.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),q.setAttribute("disabled","disabled"));q.checked&&l.checked?m.getEditSelect().removeAttribute("disabled"):m.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(n.checked,t.checked,h.checked,l.checked,m.getLink(),A.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
+function(a,b,c,d,e,g,h,l){function f(b){var f=" ",n="";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);\"",n+="cursor:pointer;");
+a&&(n+="max-width:100%;");var t="";c&&(t=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+t+(""!=n?' style="'+n+'"':"")+f+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");f(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),
+k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?f("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
+b,c,d,e,g,h){var f=this.editor.graph.getSvg(),k=f.getElementsByTagName("a");if(null!=k)for(var n=0;n<k.length;n++){var l=k[n].getAttribute("href");null!=l&&"#"==l.charAt(0)&&"_blank"==k[n].getAttribute("target")&&k[n].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(f);if(c){var m=" ",q="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
+(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",q+="cursor:pointer;");a&&(q+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(a){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=q?' style="'+q+'"':"")+m+"/>")}))}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;"),a&&(a=parseInt(f.getAttribute("width")),b=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+a+" "+b),q+="max-width:100%;max-height:"+b+"px;",f.removeAttribute("height")),""!=q&&f.setAttribute("style",q),h(mxUtils.getXml(f))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+
 " "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"==a.nodeName){var d=a.getElementsByTagName("diagram");if(0<
 d.length){var c=d[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=c&&(d=b.decompress(mxUtils.getTextContent(c)),null!=d&&0<d.length&&(a=mxUtils.parseXml(d).documentElement))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(p){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph,
-e=null;if(null!=c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),g=d.getGlobalVariable,k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:g.apply(this,arguments)};document.body.appendChild(d.container);
-d.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var g=c.toDataURL("image/png"),g=this.writeGraphModelToPng(g,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(g.substring(g.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(u){null!=b&&b(u)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
-function(a,b,c,d,e,f,h){h=b.background;h==mxConstants.NONE&&(h=null);b=b.getSvg(h,null,null,null,null,f);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
-mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,f,h,l,m){m=null!=m?m:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,l):null,m)}catch(E){"Invalid image"==E.message?this.downloadFile(m):this.handleError(E)}}),null,
-this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,f,h)}catch(w){this.spinner.stop(),this.handleError(w)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var b=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,e={},g=mxUtils.bind(this,function(){if(0==d){for(var g=[c[0]],k=1;k<c.length;k++){var f=
-c[k].indexOf(")");g.push('url("');g.push(e[b(c[k].substring(0,f))]);g.push('"'+c[k].substring(f))}this.editor.resolvedFontCss=g.join("");a()}});if(0<c.length)for(var f=1;f<c.length;f++){var h=c[f].indexOf(")"),l=null,u=c[f].indexOf("format(",h);0<u&&(l=b(c[f].substring(u+7,c[f].indexOf(")",u))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var b="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))b=
-"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c=a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){e[a]=b;d--;g()}),mxUtils.bind(this,
-function(a){d--;g()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[f].substring(0,h)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,h,l,m,u,w,E,D,x){f=null!=f?f:!0;E=null!=E?E:this.editor.graph;D=null!=D?D:0;var g=m?null:E.background;g==mxConstants.NONE&&(g=null);null==g&&(g=d);null==g&&0==m&&(g=this.editor.graph.defaultPageBackgroundColor);this.convertImages(E.getSvg(g,null,null,x,null,null!=h?h:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,
-function(){try{var k=document.createElement("canvas"),n=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=f?Math.min(1,Math.min(3*b/(4*h),b/n)):b/n);n=Math.ceil(l*n)+2*D;h=Math.ceil(l*h)+2*D;k.setAttribute("width",n);k.setAttribute("height",h);var u=k.getContext("2d");null!=g&&(u.beginPath(),u.rect(0,0,n,h),u.fillStyle=g,u.fill());u.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){u.drawImage(d,D/l,D/l);a(k)},0):(u.drawImage(d,D/l,D/l),a(k))}catch(M){null!=
-e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.graph.addSvgShadow(c);var k=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(E,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(k)}catch(C){null!=e&&e(C)}}),c,w)};EditorUi.prototype.createImageUrlConverter=
+e=null;if(null!=c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container);
+d.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(t){null!=b&&b(t)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
+function(a,b,c,d,e,g,h){h=b.background;h==mxConstants.NONE&&(h=null);b=b.getSvg(h,null,null,null,null,g);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
+mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,h,l,m){m=null!=m?m:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,l):null,m)}catch(E){"Invalid image"==E.message?this.downloadFile(m):this.handleError(E)}}),null,
+this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,h)}catch(y){this.spinner.stop(),this.handleError(y)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var b=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,e={},f=mxUtils.bind(this,function(){if(0==d){for(var f=[c[0]],k=1;k<c.length;k++){var g=
+c[k].indexOf(")");f.push('url("');f.push(e[b(c[k].substring(0,g))]);f.push('"'+c[k].substring(g))}this.editor.resolvedFontCss=f.join("");a()}});if(0<c.length)for(var g=1;g<c.length;g++){var h=c[g].indexOf(")"),l=null,t=c[g].indexOf("format(",h);0<t&&(l=b(c[g].substring(t+7,c[g].indexOf(")",t))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var b="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))b=
+"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c=a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){e[a]=b;d--;f()}),mxUtils.bind(this,
+function(a){d--;f()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[g].substring(0,h)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,h,l,m,t,y,E,D,x){g=null!=g?g:!0;E=null!=E?E:this.editor.graph;D=null!=D?D:0;var f=m?null:E.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==m&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(E.getSvg(f,null,null,x,null,null!=h?h:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,
+function(){try{var k=document.createElement("canvas"),n=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=g?Math.min(1,Math.min(3*b/(4*h),b/n)):b/n);n=Math.ceil(l*n)+2*D;h=Math.ceil(l*h)+2*D;k.setAttribute("width",n);k.setAttribute("height",h);var t=k.getContext("2d");null!=f&&(t.beginPath(),t.rect(0,0,n,h),t.fillStyle=f,t.fill());t.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(d,D/l,D/l);a(k)},0):(t.drawImage(d,D/l,D/l),a(k))}catch(M){null!=
+e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{t&&this.editor.graph.addSvgShadow(c);var k=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(E,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(k)}catch(B){null!=e&&e(B)}}),c,y)};EditorUi.prototype.createImageUrlConverter=
 function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var e="http://"==d.substring(0,7)||"https://"==d.substring(0,8);e&&!navigator.onLine?d=c.svgBrokenImage.src:!e||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==
-d&&(d=this.createImageUrlConverter());var e=0,g=c||{};c=mxUtils.bind(this,function(c,k){for(var f=a.getElementsByTagName(c),n=0;n<f.length;n++)mxUtils.bind(this,function(c){var f=d.convert(c.getAttribute(k));if(null!=f&&"data:"!=f.substring(0,5)){var n=g[f];null==n?(e++,this.convertImageToDataUri(f,function(d){null!=d&&(g[f]=d,c.setAttribute(k,d));e--;0==e&&b(a)})):c.setAttribute(k,n)}else null!=f&&c.setAttribute(k,f)})(f[n])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.loadUrl=
-function(a,b,c,d,e,f){try{var g=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var k=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=
-String.fromCharCode(a[e]);d=d.join("")}f=null!=f?f:"data:image/png;base64,";d=f+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:k})})});k()}catch(z){null!=c&&c(z)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
+d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,k){for(var g=a.getElementsByTagName(c),n=0;n<g.length;n++)mxUtils.bind(this,function(c){var g=d.convert(c.getAttribute(k));if(null!=g&&"data:"!=g.substring(0,5)){var n=f[g];null==n?(e++,this.convertImageToDataUri(g,function(d){null!=d&&(f[g]=d,c.setAttribute(k,d));e--;0==e&&b(a)})):c.setAttribute(k,n)}else null!=g&&c.setAttribute(k,g)})(g[n])});c("image","xlink:href");c("img","src");0==e&&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 k=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(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:k})})});k()}catch(z){null!=c&&c(z)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
 "https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image,
-d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var g=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var k=mxUtils.parseXml(a),n=this.editor.extractGraphModel(k.documentElement,
-null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var h=n.getElementsByTagName("diagram");if(1==h.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(h[0]))).documentElement;else if(1<h.length){f.model.beginUpdate();try{for(a=0;a<h.length;a++){var l=this.updatePageRoot(new DiagramPage(h[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===
-n.nodeName&&(g=f.importGraphModel(n,b,c,d))}}catch(D){throw e||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return g};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var e=new FormData;e.append("file1",a,d);var g=new XMLHttpRequest;g.open("POST",VSD_CONVERT_URL);g.responseType=
-"blob";g.onreadystatechange=mxUtils.bind(this,function(){if(4==g.readyState)if(200<=g.status&&299>=g.status)try{this.doImportVisio(g.response,b,c)}catch(y){c(y)}else c({})});g.send(e)}else try{this.doImportVisio(a,b,c)}catch(y){c(y)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(k){this.handleError(k)}});
-"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,d,e){var g=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,d,e)}catch(v){this.handleError(v)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(g,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
-mxscript("js/diagramly/Extensions.js",g):mxscript("js/extensions.min.js",g))};EditorUi.prototype.insertLucidChart=function(a,b,c,d,e){e=JSON.parse(a);a=[];if(null!=e.state){e=JSON.parse(e.state);for(var g in e.Pages)a.push(e.Pages[g]);a.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}else a.push(e);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,d),null!=this.pages){var f=this.currentPage;
-for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f,h){f=null!=f?f:!0;h=null!=h?h:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,
-b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var g=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var k=this.extractGraphModelFromPng(a),n=this.importXml(k,b,c,f,!0);if(0<n.length)return n}if("data:image/svg+xml;"==a.substring(0,19))try{if(k=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(k=a.substring(a.indexOf(",")+1),k=window.atob&&!mxClient.IS_SF?atob(k):Base64.decode(k,!0)):k=decodeURIComponent(a.substring(a.indexOf(",")+
-1)),n=this.importXml(k,b,c,f,!0),0<n.length)return n}catch(w){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),h,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
-d.height)),f=Math.round(d.width*e);d=Math.round(d.height*e);g.setSelectionCell(g.insertVertex(null,null,"",g.snap(b),g.snap(c),f,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,a,g.snap(b),g.snap(c),1,1,"text;"+(d?"html=1;":"")),g.updateCellSize(e),g.fireEvent(new mxEventObject("textInserted","cells",
-[e]))}finally{g.getModel().endUpdate()}g.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,f);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,f);else{g=this.editor.graph;e=null;g.getModel().beginUpdate();try{e=g.insertVertex(g.getDefaultParent(),null,"",g.snap(b),g.snap(c),1,1,"text;"+(d?"html=1;":"")),g.fireEvent(new mxEventObject("textInserted","cells",[e])),e.value=
-a,g.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i.test(e.value)&&g.setLinkForCell(e,e.value),e.geometry.width+=g.gridSize,e.geometry.height+=g.gridSize}finally{g.getModel().endUpdate()}return[e]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+
+d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){var k=mxUtils.parseXml(a),n=this.editor.extractGraphModel(k.documentElement,
+null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var h=n.getElementsByTagName("diagram");if(1==h.length)n=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(h[0]))).documentElement;else if(1<h.length){g.model.beginUpdate();try{for(a=0;a<h.length;a++){var l=this.updatePageRoot(new DiagramPage(h[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));g.model.execute(new ChangePage(this,l,l,m))}}finally{g.model.endUpdate()}}}null!=n&&"mxGraphModel"===
+n.nodeName&&(f=g.importGraphModel(n,b,c,d))}}catch(D){throw e||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return f};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var e=new FormData;e.append("file1",a,d);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
+"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(w){c(w)}else c({})});f.send(e)}else try{this.doImportVisio(a,b,c)}catch(w){c(w)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(k){this.handleError(k)}});
+"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,d,e){var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,d,e)}catch(v){this.handleError(v)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(f,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
+mxscript("js/diagramly/Extensions.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.insertLucidChart=function(a,b,c,d,e){e=JSON.parse(a);a=[];if(null!=e.state){e=JSON.parse(e.state);for(var f in e.Pages)a.push(e.Pages[f]);a.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}else a.push(e);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,d),null!=this.pages){var g=this.currentPage;
+for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(g)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,g,h){g=null!=g?g:!0;h=null!=h?h:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,
+b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var f=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var k=this.extractGraphModelFromPng(a),n=this.importXml(k,b,c,g,!0);if(0<n.length)return n}if("data:image/svg+xml;"==a.substring(0,19))try{if(k=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(k=a.substring(a.indexOf(",")+1),k=window.atob&&!mxClient.IS_SF?atob(k):Base64.decode(k,!0)):k=decodeURIComponent(a.substring(a.indexOf(",")+
+1)),n=this.importXml(k,b,c,g,!0),0<n.length)return n}catch(y){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){f.setSelectionCell(f.insertVertex(null,null,"",f.snap(b),f.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),h,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
+d.height)),g=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"",f.snap(b),f.snap(c),g,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,a,f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",
+[e]))}finally{f.getModel().endUpdate()}f.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,g);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,g);else{f=this.editor.graph;e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,"",f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.fireEvent(new mxEventObject("textInserted","cells",[e])),e.value=
+a,f.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i.test(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+
 " kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input");
 c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.importFiles(c.files,null,null,this.maxImageSize)}));c.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});
-this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,g=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;g.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,d,e,f,h,l,m,u,
-w){u=null!=u?u:!0;var g=!1,k=null,n=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,h)):b=this.importXml(a,c,d,u);null!=l&&l(b)});"image"==b.substring(0,5)?(m=!1,"image/png"==b.substring(0,9)&&(b=w?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(k=this.importXml(b,c,d,u),m=!0)),m||(k=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&k.isGridEnabled()&&(c=k.snap(c),d=
-k.snap(d)),k=[k.insertVertex(null,null,"",c,d,e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,d,u);null!=l&&l(a)})):null!=m&&null!=h&&(/(\.vsdx?)($|\?)/i.test(h)||/(\.vssx)($|\?)/i.test(h))?(g=!0,this.importVisio(m,n)):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(a,h)?(g=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?n(a.responseText):null!=l&&l(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));g||null==l||l(k);return k};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,g,f;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
-2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}g=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);b+="=";break}f=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
-2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(f&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,h,l,m,u,w,E){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var g=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&&
-null!=a)for(var q=w||this.resampleThreshold,p=0;p<a.length;p++)if("image/"==a[p].type.substring(0,6)&&a[p].size>q){n=!0;break}var v=mxUtils.bind(this,function(){var n=this.editor.graph,m=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,k,h,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,f,k,h,n,g,E)});f=null!=f?f:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body,
-mxResources.get("loading")))for(var q=a.length,p=q,v=[],t=mxUtils.bind(this,function(a,b){v[a]=b;if(0==--p){this.spinner.stop();if(null!=l)l(v);else{var c=[];n.getModel().beginUpdate();try{for(var d=0;d<v.length;d++){var e=v[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}f(c)}}),F=0;F<q;F++)mxUtils.bind(this,function(g){var f=a[g],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==h||h(f))if("image/"==f.type.substring(0,6))if("image/svg"==f.type.substring(0,9)){var l=
-a.target.result,q=l.indexOf(","),p=decodeURIComponent(escape(atob(l.substring(q+1)))),v=mxUtils.parseXml(p),p=v.getElementsByTagName("svg");if(0<p.length){var p=p[0],C=E?null:p.getAttribute("content");null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?t(g,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=v){var a=
-v.getElementsByTagName("svg");if(0<a.length){var h=a[0],u=parseFloat(h.getAttribute("width")),w=parseFloat(h.getAttribute("height")),p=h.getAttribute("viewBox");if(null==p||0==p.length)h.setAttribute("viewBox","0 0 "+u+" "+w);else if(isNaN(u)||isNaN(w)){var t=p.split(" ");3<t.length&&(u=parseFloat(t[2]),w=parseFloat(t[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var C=Math.min(1,Math.min(d/Math.max(1,u)),d/Math.max(1,w)),E=e(l,f.type,b+g*m,c+g*m,Math.max(1,Math.round(u*C)),Math.max(1,Math.round(w*
-C)),f.name,k);if(isNaN(u)||isNaN(w)){var F=new Image;F.onload=mxUtils.bind(this,function(){u=Math.max(1,F.width);w=Math.max(1,F.height);E[0].geometry.width=u;E[0].geometry.height=w;h.setAttribute("viewBox","0 0 "+u+" "+w);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[E[0]])});F.src=this.createSvgDataUri(mxUtils.getXml(h))}return E}}}catch(da){}return null})):t(g,mxUtils.bind(this,function(){return e(C,
-"text/xml",b+g*m,c+g*m,0,0,f.name)}))}}else{p=!1;if("image/png"==f.type){var F=E?null:this.extractGraphModelFromPng(a.target.result);if(null!=F&&0<F.length){var y=new Image;y.src=a.target.result;t(g,mxUtils.bind(this,function(){return e(F,"text/xml",b+g*m,c+g*m,y.width,y.height,f.name)}));p=!0}}p||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),
-mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,n,l){t(g,mxUtils.bind(this,function(){if(null!=h&&h.length<u){var q=k&&this.isResampleImage(a.target.result,w)?Math.min(1,Math.min(d/n,d/l)):1;return e(h,f.type,b+g*m,c+g*m,Math.round(n*q),Math.round(l*q),f.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),k,d,w)}),mxUtils.bind(this,
-function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,f.type,b+g*m,c+g*m,240,160,f.name,function(a){t(g,function(){return a})})});/(\.vsdx?)($|\?)/i.test(f.name)||/(\.vssx)($|\?)/i.test(f.name)?e(null,f.type,b+g*m,c+g*m,240,160,f.name,function(a){t(g,function(){return a})},f):"image"==f.type.substring(0,5)?l.readAsDataURL(f):l.readAsText(f)})(F)});n?this.confirmImageResize(function(a){k=a;v()},m):v()};EditorUi.prototype.confirmImageResize=function(a,
+this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,d,e,g,h,l,m,t,
+y){t=null!=t?t:!0;var f=!1,k=null,n=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,h)):b=this.importXml(a,c,d,t);null!=l&&l(b)});"image"==b.substring(0,5)?(m=!1,"image/png"==b.substring(0,9)&&(b=y?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(k=this.importXml(b,c,d,t),m=!0)),m||(k=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),t&&k.isGridEnabled()&&(c=k.snap(c),d=
+k.snap(d)),k=[k.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,d,t);null!=l&&l(a)})):null!=m&&null!=h&&(/(\.vsdx?)($|\?)/i.test(h)||/(\.vssx)($|\?)/i.test(h))?(f=!0,this.importVisio(m,n)):!this.isOffline()&&(new XMLHttpRequest).upload&&
+this.isRemoteFileFormat(a,h)?(f=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?n(a.responseText):null!=l&&l(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,t));f||null==l||l(k);return k};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
+2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
+2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,h,l,m,t,y,E){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;t=null!=t?t:this.maxImageBytes;var f=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&&
+null!=a)for(var q=y||this.resampleThreshold,v=0;v<a.length;v++)if("image/"==a[v].type.substring(0,6)&&a[v].size>q){n=!0;break}var p=mxUtils.bind(this,function(){var n=this.editor.graph,m=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,k,h,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,g,k,h,n,f,E)});g=null!=g?g:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body,
+mxResources.get("loading")))for(var q=a.length,v=q,p=[],u=mxUtils.bind(this,function(a,b){p[a]=b;if(0==--v){this.spinner.stop();if(null!=l)l(p);else{var c=[];n.getModel().beginUpdate();try{for(var d=0;d<p.length;d++){var e=p[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}g(c)}}),w=0;w<q;w++)mxUtils.bind(this,function(f){var g=a[f],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==h||h(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l=
+a.target.result,q=l.indexOf(","),v=decodeURIComponent(escape(atob(l.substring(q+1)))),p=mxUtils.parseXml(v),v=p.getElementsByTagName("svg");if(0<v.length){var v=v[0],B=E?null:v.getAttribute("content");null!=B&&"<"!=B.charAt(0)&&"%"!=B.charAt(0)&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null==B||"<mxfile "!==B.substring(0,8)&&"<mxGraphModel "!==B.substring(0,14)?u(f,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=p){var a=
+p.getElementsByTagName("svg");if(0<a.length){var h=a[0],t=parseFloat(h.getAttribute("width")),y=parseFloat(h.getAttribute("height")),v=h.getAttribute("viewBox");if(null==v||0==v.length)h.setAttribute("viewBox","0 0 "+t+" "+y);else if(isNaN(t)||isNaN(y)){var u=v.split(" ");3<u.length&&(t=parseFloat(u[2]),y=parseFloat(u[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var B=Math.min(1,Math.min(d/Math.max(1,t)),d/Math.max(1,y)),E=e(l,g.type,b+f*m,c+f*m,Math.max(1,Math.round(t*B)),Math.max(1,Math.round(y*
+B)),g.name,k);if(isNaN(t)||isNaN(y)){var w=new Image;w.onload=mxUtils.bind(this,function(){t=Math.max(1,w.width);y=Math.max(1,w.height);E[0].geometry.width=t;E[0].geometry.height=y;h.setAttribute("viewBox","0 0 "+t+" "+y);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[E[0]])});w.src=this.createSvgDataUri(mxUtils.getXml(h))}return E}}}catch(da){}return null})):u(f,mxUtils.bind(this,function(){return e(B,
+"text/xml",b+f*m,c+f*m,0,0,g.name)}))}}else{v=!1;if("image/png"==g.type){var w=E?null:this.extractGraphModelFromPng(a.target.result);if(null!=w&&0<w.length){var J=new Image;J.src=a.target.result;u(f,mxUtils.bind(this,function(){return e(w,"text/xml",b+f*m,c+f*m,J.width,J.height,g.name)}));v=!0}}v||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),
+mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,n,l){u(f,mxUtils.bind(this,function(){if(null!=h&&h.length<t){var q=k&&this.isResampleImage(a.target.result,y)?Math.min(1,Math.min(d/n,d/l)):1;return e(h,g.type,b+f*m,c+f*m,Math.round(n*q),Math.round(l*q),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),k,d,y)}),mxUtils.bind(this,
+function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*m,c+f*m,240,160,g.name,function(a){u(f,function(){return a})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,b+f*m,c+f*m,240,160,g.name,function(a){u(f,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(w)});n?this.confirmImageResize(function(a){k=a;p()},m):p()};EditorUi.prototype.confirmImageResize=function(a,
 b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(d,e){if(d||b)mxSettings.setResizeImages(d?e:null),mxSettings.save();c();a(e)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+
 '"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,d)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>
-b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var h=Math.max(g/e,k/e);if(1<h){var n=Math.round(g/h),l=Math.round(k/h),m=document.createElement("canvas");m.width=n;m.height=l;m.getContext("2d").drawImage(a,0,0,n,l);var q=m.toDataURL();if(q.length<b.length){var p=document.createElement("canvas");p.width=n;p.height=l;var t=p.toDataURL();q!==t&&(b=q,g=n,k=l)}}}catch(A){}c(b,g,k)};
+b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var h=Math.max(f/e,k/e);if(1<h){var n=Math.round(f/h),l=Math.round(k/h),m=document.createElement("canvas");m.width=n;m.height=l;m.getContext("2d").drawImage(a,0,0,n,l);var q=m.toDataURL();if(q.length<b.length){var p=document.createElement("canvas");p.width=n;p.height=l;var u=p.toDataURL();q!==u&&(b=q,f=n,k=l)}}}catch(A){}c(b,f,k)};
 EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var d=c,e=0;8>e;e++)d=1==(d&1)?3988292384^d>>>1:d>>>1,EditorUi.prototype.crcTable[c]=d;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,
-b,c,d,e){function g(a,b){var c=h;h+=b;return a.substring(c,h)}function f(a){a=g(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var h=0;if(g(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(g(a,4),"IHDR"!=g(a,4))null!=e&&e();else{g(a,17);e=a.substring(0,h);do{var n=
-f(a);if("IDAT"==g(a,4)){e=a.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(h-8,a.length);break}e+=a.substring(h-8,h-4+n);g(a,n);g(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?
-atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(t){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&
-"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var f=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var c=a.indexOf(",");0<c&&(a=b.getPageById(a.substring(c+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(b,c){a(c.getProperty("href"))});
+b,c,d,e){function f(a,b){var c=h;h+=b;return a.substring(c,h)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var h=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,h);do{var n=
+g(a);if("IDAT"==f(a,4)){e=a.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(h-8,a.length);break}e+=a.substring(h-8,h-4+n);f(a,n);f(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?
+atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(u){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&
+"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var g=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var c=a.indexOf(",");0<c&&(a=b.getPageById(a.substring(c+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(b,c){a(c.getProperty("href"))});
 this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var c=0;c<b.pages.length;c++)if(b.pages[c]==b.currentPage){0<c&&(a+=(0<a.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=c.addClickHandler;
-c.addClickHandler=function(b,d,g){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a(d),mxEvent.consume(b));null!=f&&f(b,d)};e.call(this,b,d,g)};f.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!=
-b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var l=c.createLinkForHint;c.createLinkForHint=function(d,e){var g=c.isPageLink(d);if(g){var f=d.indexOf(",");0<f&&(f=b.getPageById(d.substring(f+1)),e=null!=f?f.getName():
-mxResources.get("pageNotFound"))}f=l.call(this,d,e);g&&mxEvent.addListener(f,"click",function(b){a(d);mxEvent.consume(b)});return f};var m=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var g=d.getAttribute("href");if(null==g||!c.isPageLink(g)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))m.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(g),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,
-c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var z=this.actions.get("print");z.setEnabled(!mxClient.IS_IOS||!navigator.standalone);z.visible=z.isEnabled();if(!this.editor.chromeless||this.editor.editable){var u=function(){window.setTimeout(function(){w.innerHTML="&nbsp;";w.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);
-this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var g=c.items;
-for(index in g){var f=g[index];if("file"===f.kind){if(b.isEditing())this.importFiles([f.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,g,f){b.insertImage(a,g,f)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([f.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var w=document.createElement("div");w.style.position="absolute";w.style.whiteSpace=
-"nowrap";w.style.overflow="hidden";w.style.display="block";w.contentEditable=!0;mxUtils.setOpacity(w,0);w.style.width="1px";w.style.height="1px";w.innerHTML="&nbsp;";var E=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==b.nodeName||"TEXTAREA"==
-b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||E||(w.style.left=c.container.scrollLeft+10+"px",w.style.top=c.container.scrollTop+10+"px",c.container.appendChild(w),E=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){w.focus();document.execCommand("selectAll",!1,null)},0):(w.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!E||
-224!=b&&17!=b&&91!=b||(E=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),w.parentNode.removeChild(w))}),0)}));mxEvent.addListener(w,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(w),u())}));mxEvent.addListener(w,"cut",mxUtils.bind(this,function(a){c.isEnabled()&&(this.copyCells(w,!0),u())}));mxEvent.addListener(w,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(w.innerHTML="&nbsp;",w.focus(),
-window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,w);w.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==w?!0:D.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,
+c.addClickHandler=function(b,d,f){var g=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a(d),mxEvent.consume(b));null!=g&&g(b,d)};e.call(this,b,d,f)};g.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!=
+b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var l=c.createLinkForHint;c.createLinkForHint=function(d,e){var f=c.isPageLink(d);if(f){var g=d.indexOf(",");0<g&&(g=b.getPageById(d.substring(g+1)),e=null!=g?g.getName():
+mxResources.get("pageNotFound"))}g=l.call(this,d,e);f&&mxEvent.addListener(g,"click",function(b){a(d);mxEvent.consume(b)});return g};var m=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var f=d.getAttribute("href");if(null==f||!c.isPageLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))m.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(f),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,
+c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var z=this.actions.get("print");z.setEnabled(!mxClient.IS_IOS||!navigator.standalone);z.visible=z.isEnabled();if(!this.editor.chromeless||this.editor.editable){var t=function(){window.setTimeout(function(){y.innerHTML="&nbsp;";y.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);
+this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;
+for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var y=document.createElement("div");y.style.position="absolute";y.style.whiteSpace=
+"nowrap";y.style.overflow="hidden";y.style.display="block";y.contentEditable=!0;mxUtils.setOpacity(y,0);y.style.width="1px";y.style.height="1px";y.innerHTML="&nbsp;";var E=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==b.nodeName||"TEXTAREA"==
+b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||E||(y.style.left=c.container.scrollLeft+10+"px",y.style.top=c.container.scrollTop+10+"px",c.container.appendChild(y),E=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){y.focus();document.execCommand("selectAll",!1,null)},0):(y.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!E||
+224!=b&&17!=b&&91!=b||(E=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),y.parentNode.removeChild(y))}),0)}));mxEvent.addListener(y,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(y),t())}));mxEvent.addListener(y,"cut",mxUtils.bind(this,function(a){c.isEnabled()&&(this.copyCells(y,!0),t())}));mxEvent.addListener(y,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(y.innerHTML="&nbsp;",y.focus(),
+window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,y);y.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==y?!0:D.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,
 c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,
-0,0,this.maxImageSize,function(a,c,d,e,g,f){b.insertImage(a,g,f)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,
+0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,
 Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){z=document.createElement("div");z.style.position="absolute";z.style.top="95px";z.style.left="250px";z.style.width="2000px";z.style.height="30px";z.style.background="whiteSmoke";document.body.appendChild(z);var x=document.createElement("div");x.style.position="absolute";x.style.top="125px";x.style.left="220px";x.style.width="30px";x.style.height="1000px";x.style.background="whiteSmoke";document.body.appendChild(x);var F=document.createElement("div");F.style.position="absolute";F.style.top=
-"95px";F.style.left="220px";F.style.width="30px";F.style.height="30px";F.style.background="whiteSmoke";document.body.appendChild(F);this.vRuler=new mxRuler(this.editor.graph,x,!0);this.hRuler=new mxRuler(this.editor.graph,z,!1)}if("1"==urlParams.test){z=document.getElementById("geFooter");null!=z&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width=
+typeof mxRuler){z=document.createElement("div");z.style.position="absolute";z.style.top="95px";z.style.left="250px";z.style.width="2000px";z.style.height="30px";z.style.background="whiteSmoke";document.body.appendChild(z);var x=document.createElement("div");x.style.position="absolute";x.style.top="125px";x.style.left="220px";x.style.width="30px";x.style.height="1000px";x.style.background="whiteSmoke";document.body.appendChild(x);var J=document.createElement("div");J.style.position="absolute";J.style.top=
+"95px";J.style.left="220px";J.style.width="30px";J.style.height="30px";J.style.background="whiteSmoke";document.body.appendChild(J);this.vRuler=new mxRuler(this.editor.graph,x,!0);this.hRuler=new mxRuler(this.editor.graph,z,!1)}if("1"==urlParams.test){z=document.getElementById("geFooter");null!=z&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width=
 "98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),z.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);
-this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var A=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:A.apply(this,arguments)}}z=document.getElementById("geInfo");null!=z&&z.parentNode.removeChild(z);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),
-B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
-d=c.view.translate,e=c.view.scale,g=b.x/e-d.x,f=b.y/e-d.y;mxEvent.isAltDown(a)&&(f=g=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,g,f,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,g,f,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
-"text/html")){var h=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=h;var n=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(n=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&(h=b[0].getAttribute("href")));var l=!0,u=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,g,f,!0,n,null,l))});n&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l=
-a;u()},mxEvent.isControlDown(a)):u()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var b=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,null,"",g,f,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(k,
-g,f,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),g,f,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
+this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var A=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:A.apply(this,arguments)}}z=document.getElementById("geInfo");null!=z&&z.parentNode.removeChild(z);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),
+C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
+d=c.view.translate,e=c.view.scale,f=b.x/e-d.x,g=b.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
+"text/html")){var h=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=h;var t=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(t=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&(h=b[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,f,g,!0,t,null,l))});t&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l=
+a;n()},mxEvent.isControlDown(a)):n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var b=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,null,"",f,g,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(k,
+f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
 mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());
 this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged",
 mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||
 8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,
 !1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.importLucidChart(d,0,0),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(b):b.textContent),g=!1;try{var f=e.lastIndexOf("%3E");0<=f&&f<e.length-3&&(e=e.substring(0,f+3))}catch(z){}try{var c=b.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(k)&&(g=!0,e=k)}catch(z){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(g||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,
-c,c)):(g=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,g.x+c,g.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(z){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",
+8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var g=e.lastIndexOf("%3E");0<=g&&g<e.length-3&&(e=e.substring(0,g+3))}catch(z){}try{var c=b.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(k)&&(f=!0,e=k)}catch(z){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,
+c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(z){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",
 function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||
 "1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,
 "text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?
 (new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};
-EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,e;if(null==a){e=document.body;var g=document.documentElement;d=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;g=document.createElement("div");g.style.zIndex=mxPopupMenu.prototype.zIndex+2;g.style.border="3px dotted rgb(254, 137, 12)";g.style.pointerEvents="none";g.style.position="absolute";g.style.top=b+"px";g.style.left=c+"px";g.style.width=
-Math.max(0,d-3)+"px";g.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(g):document.body.appendChild(g);return g};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=
-function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){var d=c.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var g=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&
-"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(w){this.handleError(w,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();g(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,e))this.parseFile(a,mxUtils.bind(this,
-function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?g(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(u){this.handleError(u,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
+EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,e;if(null==a){e=document.body;var f=document.documentElement;d=(e.clientWidth||f.clientWidth)-3;e=Math.max(e.clientHeight||0,f.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;f=document.createElement("div");f.style.zIndex=mxPopupMenu.prototype.zIndex+2;f.style.border="3px dotted rgb(254, 137, 12)";f.style.pointerEvents="none";f.style.position="absolute";f.style.top=b+"px";f.style.left=c+"px";f.style.width=
+Math.max(0,d-3)+"px";f.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(f):document.body.appendChild(f);return f};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=
+function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){var d=c.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&
+"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,e))this.parseFile(a,mxUtils.bind(this,
+function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
+else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(t){this.handleError(t,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
 this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,
 b||this.defaultFilename,c))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"),
 null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,
-a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),g=0;g<e;g++)this.addBasenamesForCell(d.model.getChildAt(a,g),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=
+a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=
 a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),
 null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&
 this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?
-this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,g=mxUtils.bind(this,function(a,
-b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(g){function h(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&
-(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(G){}return a}if(g.source==(window.opener||window.parent)){var k=g.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(H){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&
-(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&f.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):h(k.xml);
-this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();
-f.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(H){f.postMessage(JSON.stringify({event:"draft",error:H.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,n=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?
-f.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,g,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;f.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;f.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){f.postMessage(JSON.stringify({event:"template",
+this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a,
+b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function h(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&
+(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(F){}return a}if(f.source==(window.opener||window.parent)){var k=f.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(H){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&
+(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):h(k.xml);
+this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();
+g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(H){g.postMessage(JSON.stringify({event:"draft",error:H.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,n=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?
+g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;g.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;g.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){g.postMessage(JSON.stringify({event:"template",
 docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==k.action)this.searchReadyCallback(k.list,k.errorMsg);else if("recentDocsList"==k.action)this.recentReadyCallback(k.list,k.errorMsg);else{if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));
-null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var m=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var q=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,
-v=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(q);f.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);v(a)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),y=p.getGlobalVariable,C=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?C.getName():"pagenumber"==a?1:y.apply(this,arguments)};document.body.appendChild(p.container);p.model.setRoot(C.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?v("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);m=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data=
-this.getFileData(null,null,!0,null,null,null,l),m.format=k.format;else if("html"==k.format)q=this.editor.getGraphXml(),m.data=this.getHtml(q,this.editor.graph),m.xml=mxUtils.getXml(q),m.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==k.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);f.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));f.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}f.postMessage(JSON.stringify(m),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{f.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(k)}),"*");return}}}k=h(k);c=!0;try{a(k,g)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var L=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=L();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=L();if(d!=e&&!c){var g=this.createLoadMessage("autosave");g.xml=d;d=JSON.stringify(g);(window.opener||window.parent).postMessage(d,
+null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var m=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var v=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph,
+p=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(v);g.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(v))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);p(a)});if(this.isExportToCanvas()){if(null!=
+this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),w=q.getGlobalVariable,B=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?B.getName():"pagenumber"==a?1:w.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(B.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
+("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(v)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?p("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);m=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data=
+this.getFileData(null,null,!0,null,null,null,l),m.format=k.format;else if("html"==k.format)v=this.editor.getGraphXml(),m.data=this.getHtml(v,this.editor.graph),m.xml=mxUtils.getXml(v),m.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),
+"xmlsvg"==k.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),
+this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}g.postMessage(JSON.stringify(m),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
+"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage",
+data:JSON.stringify(k)}),"*");return}}}k=h(k);c=!0;try{a(k,f)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var L=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=L();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=L();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,
 "*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",
-b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||f.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var f=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";f.postMessage(g,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?
+b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?
 "2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),
 mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight=
 "20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),
-null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},g=null,f=null,k="",h="auto",l="auto",m=null,E=null,D=40,x=40,F=0,A=this.editor.graph;A.getGraphBounds();for(var B=function(){null!=b?b(aa):(A.setSelectionCells(aa),A.scrollCellToVisible(A.getSelectionCell()))},J=A.getFreeInsertPoint(),C=J.x,L=J.y,J=L,H=null,
-G="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),I=mxUtils.trim(a.substring(S+1));"label"==O?H=A.sanitizeHtml(I):"style"==O?g=I:"identity"==O&&0<I.length&&"-"!=I?f=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?h=I:"height"==O?l=I:"left"==O&&0<I.length?
-m=I:"top"==O&&0<I.length?E=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?F=parseFloat(I):"edgespacing"==O?D=parseFloat(I):"nodespacing"==O?x=parseFloat(I):"layout"==O&&(G=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=f)for(var R=0;R<W.length;R++)if(f==W[R]){S=R;break}null==H&&(H="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});A.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);
-if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=A.model.getCell(Q));null==K&&(K=new mxCell(H,new mxGeometry(C,J,0,0),g||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)A.setAttributeForCell(K,W[P],V[P]);A.setAttributeForCell(K,"placeholders","1");K.style=A.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)e[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(A.setLinkForCell(K,K.getAttribute(X)),A.setAttributeForCell(K,X,null));A.fireEvent(new mxEventObject("cellsInserted",
-"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=m&&null!=K.getAttribute(m)&&(K.geometry.x=C+parseFloat(K.getAttribute(m))),null!=E&&null!=K.getAttribute(E)&&(K.geometry.y=L+parseFloat(K.getAttribute(E))),"@"==h.charAt(0)&&null!=K.getAttribute(h.substring(1))?K.geometry.width=parseFloat(K.getAttribute(h.substring(1))):K.geometry.width="auto"==h?ba.width+F:parseFloat(h),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):
-K.geometry.height="auto"==l?ba.height+F:parseFloat(l),J+=K.geometry.height+x);d.push(A.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){A.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(H=Y.label,null!=Y.fromlabel&&(H=(K.getAttribute(Y.fromlabel)||"")+(H||"")),null!=Y.tolabel&&(H=(H||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(A.insertEdge(null,
+null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},f=null,g=null,k="",h="auto",l="auto",m=null,E=null,D=40,x=40,J=0,A=this.editor.graph;A.getGraphBounds();for(var C=function(){null!=b?b(aa):(A.setSelectionCells(aa),A.scrollCellToVisible(A.getSelectionCell()))},G=A.getFreeInsertPoint(),B=G.x,L=G.y,G=L,H=null,
+F="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),I=mxUtils.trim(a.substring(S+1));"label"==O?H=A.sanitizeHtml(I):"style"==O?f=I:"identity"==O&&0<I.length&&"-"!=I?g=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?h=I:"height"==O?l=I:"left"==O&&0<I.length?
+m=I:"top"==O&&0<I.length?E=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?J=parseFloat(I):"edgespacing"==O?D=parseFloat(I):"nodespacing"==O?x=parseFloat(I):"layout"==O&&(F=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==H&&(H="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});A.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);
+if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=A.model.getCell(Q));null==K&&(K=new mxCell(H,new mxGeometry(B,G,0,0),f||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)A.setAttributeForCell(K,W[P],V[P]);A.setAttributeForCell(K,"placeholders","1");K.style=A.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)e[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(A.setLinkForCell(K,K.getAttribute(X)),A.setAttributeForCell(K,X,null));A.fireEvent(new mxEventObject("cellsInserted",
+"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=m&&null!=K.getAttribute(m)&&(K.geometry.x=B+parseFloat(K.getAttribute(m))),null!=E&&null!=K.getAttribute(E)&&(K.geometry.y=L+parseFloat(K.getAttribute(E))),"@"==h.charAt(0)&&null!=K.getAttribute(h.substring(1))?K.geometry.width=parseFloat(K.getAttribute(h.substring(1))):K.geometry.width="auto"==h?ba.width+J:parseFloat(h),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):
+K.geometry.height="auto"==l?ba.height+J:parseFloat(l),G+=K.geometry.height+x);d.push(A.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){A.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(H=Y.label,null!=Y.fromlabel&&(H=(K.getAttribute(Y.fromlabel)||"")+(H||"")),null!=Y.tolabel&&(H=(H||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(A.insertEdge(null,
 null,H||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||A.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(K=d[R],P=0;P<Z.length;P++)A.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(A);fa.spacing=D;var ka=function(){fa.execute(A.getDefaultParent());for(var a=0;a<d.length;a++){var b=A.getCellGeometry(d[a]);b.x=Math.round(A.snap(b.x));b.y=Math.round(A.snap(b.y));"auto"==h&&(b.width=Math.round(A.snap(b.width)));"auto"==l&&(b.height=
-Math.round(A.snap(b.height)))}};if("circle"==G){var da=new mxCircleLayout(A);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(A.getDefaultParent());ka()},!0,B);B=null}else if("horizontaltree"==G||"verticaltree"==G||"auto"==G&&aa.length==2*d.length-1&&1==U.length){A.view.validate();var ga=new mxCompactTreeLayout(A,"horizontaltree"==G);ga.levelDistance=x;ga.edgeRouting=!1;ga.resetEdges=
-!1;this.executeLayout(function(){ga.execute(A.getDefaultParent(),0<U.length?U[0]:null)},!0,B);B=null}else if("horizontalflow"==G||"verticalflow"==G||"auto"==G&&1==U.length){A.view.validate();var ha=new mxHierarchicalLayout(A,"horizontalflow"==G?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=x;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(A.getDefaultParent(),aa);A.moveCells(aa,C,L)},!0,B);B=null}else if("organic"==G||"auto"==G&&aa.length>d.length){A.view.validate();
-var ea=new mxFastOrganicLayout(A);ea.forceConstant=3*x;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(A);fa.spacing=D;this.executeLayout(function(){ea.execute(A.getDefaultParent());ka()},!0,B);B=null}this.hideDialog()}finally{A.model.endUpdate()}null!=B&&B()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&
+Math.round(A.snap(b.height)))}};if("circle"==F){var da=new mxCircleLayout(A);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(A.getDefaultParent());ka()},!0,C);C=null}else if("horizontaltree"==F||"verticaltree"==F||"auto"==F&&aa.length==2*d.length-1&&1==U.length){A.view.validate();var ga=new mxCompactTreeLayout(A,"horizontaltree"==F);ga.levelDistance=x;ga.edgeRouting=!1;ga.resetEdges=
+!1;this.executeLayout(function(){ga.execute(A.getDefaultParent(),0<U.length?U[0]:null)},!0,C);C=null}else if("horizontalflow"==F||"verticalflow"==F||"auto"==F&&1==U.length){A.view.validate();var ha=new mxHierarchicalLayout(A,"horizontalflow"==F?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=x;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(A.getDefaultParent(),aa);A.moveCells(aa,B,L)},!0,C);C=null}else if("organic"==F||"auto"==F&&aa.length>d.length){A.view.validate();
+var ea=new mxFastOrganicLayout(A);ea.forceConstant=3*x;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(A);fa.spacing=D;this.executeLayout(function(){ea.execute(A.getDefaultParent());ka()},!0,C);C=null}this.hideDialog()}finally{A.model.endUpdate()}null!=C&&C()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&
 null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&
 (a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var h=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=h.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=
 this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*
 a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a,
-8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,g=b.outline;g.pageScale=e.pageScale;g.pageFormat=
-e.pageFormat;g.background=e.background;g.pageVisible=e.pageVisible;g.background=e.background;var f=mxUtils.getCurrentStyle(e.container);g.container.style.backgroundColor=f.backgroundColor;null!=e.view.backgroundPageShape&&null!=g.view.backgroundPageShape&&(g.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=0;null==this.drive&&"function"!==typeof window.DriveClient||
+8/a)};var f=b.init;b.init=function(){f.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=
+e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=0;null==this.drive&&"function"!==typeof window.DriveClient||
 c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.trello&&"function"!==typeof window.TrelloClient||c++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&c++;mxClient.IS_IOS||c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();
 this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),
 this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&
@@ -7401,8 +7465,8 @@ function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrent
 c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b);
 this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);
 this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var m=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=
-null);m.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,f){var g=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(g.getSvg(d,e,f)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=g.getGraphBounds(),l=Math.floor(k.width*e/g.view.scale),m=Math.floor(k.height*
-e/g.view.scale);h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+f+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
+null);m.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),l=Math.floor(k.width*e/f.view.scale),m=Math.floor(k.height*
+e/f.view.scale);h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
 setGridColor:function(a){mxSettings.settings.gridColor=a},getAutosave:function(){return mxSettings.settings.autosave},setAutosave:function(a){mxSettings.settings.autosave=a},getResizeImages:function(){return mxSettings.settings.resizeImages},setResizeImages:function(a){mxSettings.settings.resizeImages=a},getOpenCounter:function(){return mxSettings.settings.openCounter},setOpenCounter:function(a){mxSettings.settings.openCounter=a},getLibraries:function(){return mxSettings.settings.libraries},setLibraries:function(a){mxSettings.settings.libraries=
 a},addCustomLibrary:function(a){mxSettings.load();0>mxUtils.indexOf(mxSettings.settings.customLibraries,a)&&("L.scratchpad"===a?mxSettings.settings.customLibraries.splice(0,0,a):mxSettings.settings.customLibraries.push(a));mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,mxSettings.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return mxSettings.settings.customLibraries},getPlugins:function(){return mxSettings.settings.plugins},setPlugins:function(a){mxSettings.settings.plugins=
 a},getRecentColors:function(){return mxSettings.settings.recentColors},setRecentColors:function(a){mxSettings.settings.recentColors=a},getFormatWidth:function(){return parseInt(mxSettings.settings.formatWidth)},setFormatWidth:function(a){mxSettings.settings.formatWidth=a},getCurrentEdgeStyle:function(){return mxSettings.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){mxSettings.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return mxSettings.settings.currentVertexStyle},
@@ -7416,30 +7480,30 @@ mxGraph.prototype.pageFormat),null==mxSettings.settings.search&&(mxSettings.sett
 Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;function mxAsyncCanvas(a){mxAbstractCanvas2D.call(this);this.htmlCanvas=a;a.images=a.images||[];a.subCanvas=a.subCanvas||[]}mxUtils.extend(mxAsyncCanvas,mxAbstractCanvas2D);mxAsyncCanvas.prototype.htmlCanvas=null;mxAsyncCanvas.prototype.canvasIndex=0;mxAsyncCanvas.prototype.waitCounter=0;mxAsyncCanvas.prototype.onComplete=null;mxAsyncCanvas.prototype.incWaitCounter=function(){this.waitCounter++};
 mxAsyncCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxAsyncCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily};mxAsyncCanvas.prototype.rotate=function(a,b,c,d,e){};
 mxAsyncCanvas.prototype.setAlpha=function(a){this.state.alpha=a};mxAsyncCanvas.prototype.setFontColor=function(a){this.state.fontColor=a};mxAsyncCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxAsyncCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxAsyncCanvas.prototype.setFontSize=function(a){this.state.fontSize=a};
-mxAsyncCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxAsyncCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxAsyncCanvas.prototype.rect=function(a,b,c,d){};mxAsyncCanvas.prototype.roundrect=function(a,b,c,d,e,f){};mxAsyncCanvas.prototype.ellipse=function(a,b,c,d){};mxAsyncCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url="+encodeURIComponent(a);return a};
-mxAsyncCanvas.prototype.image=function(a,b,c,d,e,f,h,l){e=this.rewriteImageSource(e);a=this.htmlCanvas.images[e];null==a&&(a=new Image,a.onload=mxUtils.bind(this,function(){this.decWaitCounter()}),a.onerror=mxUtils.bind(this,function(){this.decWaitCounter()}),this.incWaitCounter(),this.htmlCanvas.images[e]=a,a.src=e)};mxAsyncCanvas.prototype.fill=function(){};mxAsyncCanvas.prototype.stroke=function(){};mxAsyncCanvas.prototype.fillAndStroke=function(){};
-mxAsyncCanvas.prototype.text=function(a,b,c,d,e,f,h,l,m,g,k,n){if(null!=e&&0!=e.length&&(a=this.state.scale,"html"==m&&"function"===typeof html2canvas)){this.incWaitCounter();var q=this.canvasIndex++;html2canvas(e,{onrendered:mxUtils.bind(this,function(a){this.htmlCanvas.subCanvas[q]=a;this.decWaitCounter()}),scale:a,logging:!0})}};mxAsyncCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};function mxJsCanvas(a){mxAbstractCanvas2D.call(this);this.ctx=a.getContext("2d");this.ctx.textBaseline="top";this.ctx.fillStyle="rgba(255,255,255,0)";this.ctx.strokeStyle="rgba(0, 0, 0, 0)";this.M_RAD_PER_DEG=Math.PI/180;this.images=null==this.images?[]:this.images;this.subCanvas=null==this.subCanvas?[]:this.subCanvas}mxUtils.extend(mxJsCanvas,mxAbstractCanvas2D);mxJsCanvas.prototype.ctx=null;mxJsCanvas.prototype.waitCounter=0;mxJsCanvas.prototype.onComplete=null;mxJsCanvas.prototype.images=null;
+mxAsyncCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxAsyncCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxAsyncCanvas.prototype.rect=function(a,b,c,d){};mxAsyncCanvas.prototype.roundrect=function(a,b,c,d,e,g){};mxAsyncCanvas.prototype.ellipse=function(a,b,c,d){};mxAsyncCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url="+encodeURIComponent(a);return a};
+mxAsyncCanvas.prototype.image=function(a,b,c,d,e,g,h,l){e=this.rewriteImageSource(e);a=this.htmlCanvas.images[e];null==a&&(a=new Image,a.onload=mxUtils.bind(this,function(){this.decWaitCounter()}),a.onerror=mxUtils.bind(this,function(){this.decWaitCounter()}),this.incWaitCounter(),this.htmlCanvas.images[e]=a,a.src=e)};mxAsyncCanvas.prototype.fill=function(){};mxAsyncCanvas.prototype.stroke=function(){};mxAsyncCanvas.prototype.fillAndStroke=function(){};
+mxAsyncCanvas.prototype.text=function(a,b,c,d,e,g,h,l,m,f,k,n){if(null!=e&&0!=e.length&&(a=this.state.scale,"html"==m&&"function"===typeof html2canvas)){this.incWaitCounter();var q=this.canvasIndex++;html2canvas(e,{onrendered:mxUtils.bind(this,function(a){this.htmlCanvas.subCanvas[q]=a;this.decWaitCounter()}),scale:a,logging:!0})}};mxAsyncCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};function mxJsCanvas(a){mxAbstractCanvas2D.call(this);this.ctx=a.getContext("2d");this.ctx.textBaseline="top";this.ctx.fillStyle="rgba(255,255,255,0)";this.ctx.strokeStyle="rgba(0, 0, 0, 0)";this.M_RAD_PER_DEG=Math.PI/180;this.images=null==this.images?[]:this.images;this.subCanvas=null==this.subCanvas?[]:this.subCanvas}mxUtils.extend(mxJsCanvas,mxAbstractCanvas2D);mxJsCanvas.prototype.ctx=null;mxJsCanvas.prototype.waitCounter=0;mxJsCanvas.prototype.onComplete=null;mxJsCanvas.prototype.images=null;
 mxJsCanvas.prototype.subCanvas=null;mxJsCanvas.prototype.canvasIndex=0;mxJsCanvas.prototype.hexToRgb=function(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,e){return c+c+d+d+e+e});return(a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a))?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null};mxJsCanvas.prototype.incWaitCounter=function(){this.waitCounter++};
 mxJsCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxJsCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily};
 mxJsCanvas.prototype.save=function(){this.states.push(this.state);this.state=mxUtils.clone(this.state);this.ctx.save()};mxJsCanvas.prototype.restore=function(){this.state=this.states.pop();this.ctx.restore()};mxJsCanvas.prototype.scale=function(a){this.state.scale*=a;this.state.strokeWidth*=a;this.ctx.scale(a,a)};mxJsCanvas.prototype.translate=function(a,b){this.state.dx+=a;this.state.dy+=b;this.ctx.translate(a,b)};
 mxJsCanvas.prototype.rotate=function(a,b,c,d,e){d-=this.state.dx;e-=this.state.dy;this.ctx.translate(d,e);(b||c)&&this.ctx.scale(b?-1:1,c?-1:1);this.ctx.rotate(a*this.M_RAD_PER_DEG);this.ctx.translate(-d,-e)};mxJsCanvas.prototype.setAlpha=function(a){this.state.alpha=a;this.ctx.globalAlpha=a};mxJsCanvas.prototype.setFillColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fillColor=a;this.state.gradientColor=null;this.ctx.fillStyle=a};
-mxJsCanvas.prototype.setGradient=function(a,b,c,d,e,f,h,l,m){c=this.ctx.createLinearGradient(0,d,0,d+f);d=this.state;d.fillColor=a;d.fillAlpha=null!=l?l:1;d.gradientColor=b;d.gradientAlpha=null!=m?m:1;d.gradientDirection=h;a=this.hexToRgb(a);b=this.hexToRgb(b);null!=a&&c.addColorStop(0,"rgba("+a.r+","+a.g+","+a.b+","+d.fillAlpha+")");null!=b&&c.addColorStop(1,"rgba("+b.r+","+b.g+","+b.b+","+d.gradientAlpha+")");this.ctx.fillStyle=c};
+mxJsCanvas.prototype.setGradient=function(a,b,c,d,e,g,h,l,m){c=this.ctx.createLinearGradient(0,d,0,d+g);d=this.state;d.fillColor=a;d.fillAlpha=null!=l?l:1;d.gradientColor=b;d.gradientAlpha=null!=m?m:1;d.gradientDirection=h;a=this.hexToRgb(a);b=this.hexToRgb(b);null!=a&&c.addColorStop(0,"rgba("+a.r+","+a.g+","+a.b+","+d.fillAlpha+")");null!=b&&c.addColorStop(1,"rgba("+b.r+","+b.g+","+b.b+","+d.gradientAlpha+")");this.ctx.fillStyle=c};
 mxJsCanvas.prototype.setStrokeColor=function(a){null!=a&&(a==mxConstants.NONE?(this.state.strokeColor=null,this.ctx.strokeStyle="rgba(0, 0, 0, 0)"):(this.ctx.strokeStyle=a,this.state.strokeColor=a))};mxJsCanvas.prototype.setStrokeWidth=function(a){this.ctx.lineWidth=a};mxJsCanvas.prototype.setDashed=function(a){if(this.state.dashed=a){a=this.state.dashPattern.split(" ");for(var b=0;b<a.length;b++)a[b]=parseInt(a[b],10);this.setLineDash(a)}else this.setLineDash([0])};
 mxJsCanvas.prototype.setLineDash=function(a){try{"function"===typeof this.ctx.setLineDash&&this.ctx.setLineDash(a)}catch(b){}};mxJsCanvas.prototype.setDashPattern=function(a){this.state.dashPattern=a;if(this.state.dashed){a=a.split(" ");for(var b=0;b<a.length;b++)a[b]=parseInt(a[b],10);this.ctx.setLineDash(a)}};mxJsCanvas.prototype.setLineCap=function(a){this.ctx.lineCap=a};mxJsCanvas.prototype.setLineJoin=function(a){this.ctx.lineJoin=a};
 mxJsCanvas.prototype.setMiterLimit=function(a){this.ctx.lineJoin=a};mxJsCanvas.prototype.setFontColor=function(a){this.ctx.fillStyle=a};mxJsCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxJsCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxJsCanvas.prototype.setFontSize=function(a){this.state.fontSize=a};
 mxJsCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxJsCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxJsCanvas.prototype.setShadow=function(a){(this.state.shadow=a)?(this.setShadowOffset(this.state.shadowDx,this.state.shadowDy),this.setShadowAlpha(this.state.shadowAlpha)):(this.ctx.shadowColor="transparent",this.ctx.shadowBlur=0,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0)};
 mxJsCanvas.prototype.setShadowColor=function(a){if(null==a||a==mxConstants.NONE)a=null,this.ctx.shadowColor="transparent";this.state.shadowColor=a;if(this.state.shadow&&null!=a){var b=null!=this.state.shadowAlpha?this.state.shadowAlpha:1;a=this.hexToRgb(a);this.ctx.shadowColor="rgba("+a.r+","+a.g+","+a.b+","+b+")"}};mxJsCanvas.prototype.setShadowAlpha=function(a){this.state.shadowAlpha=a;this.setShadowColor(this.state.shadowColor)};
 mxJsCanvas.prototype.setShadowOffset=function(a,b){this.state.shadowDx=a;this.state.shadowDy=b;this.state.shadow&&(this.ctx.shadowOffsetX=a,this.ctx.shadowOffsetY=b)};mxJsCanvas.prototype.moveTo=function(a,b){this.ctx.moveTo(a,b);this.lastMoveX=a;this.lastMoveY=b};mxJsCanvas.prototype.lineTo=function(a,b){this.ctx.lineTo(a,b);this.lastMoveX=a;this.lastMoveY=b};mxJsCanvas.prototype.quadTo=function(a,b,c,d){this.ctx.quadraticCurveTo(a,b,c,d);this.lastMoveX=c;this.lastMoveY=d};
-mxJsCanvas.prototype.arcTo=function(a,b,c,d,e,f,h){a=mxUtils.arcToCurves(this.lastMoveX,this.lastMoveY,a,b,c,d,e,f,h);if(null!=a)for(b=0;b<a.length;b+=6)this.curveTo(a[b],a[b+1],a[b+2],a[b+3],a[b+4],a[b+5])};mxJsCanvas.prototype.curveTo=function(a,b,c,d,e,f){this.ctx.bezierCurveTo(a,b,c,d,e,f);this.lastMoveX=e;this.lastMoveY=f};mxJsCanvas.prototype.rect=function(a,b,c,d){this.begin();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.close()};
-mxJsCanvas.prototype.roundrect=function(a,b,c,d,e,f){this.begin();this.moveTo(a+e,b);this.lineTo(a+c-e,b);this.quadTo(a+c,b,a+c,b+f);this.lineTo(a+c,b+d-f);this.quadTo(a+c,b+d,a+c-e,b+d);this.lineTo(a+e,b+d);this.quadTo(a,b+d,a,b+d-f);this.lineTo(a,b+f);this.quadTo(a,b,a+e,b)};mxJsCanvas.prototype.ellipse=function(a,b,c,d){this.ctx.save();this.ctx.translate(a+c/2,b+d/2);this.ctx.scale(c/2,d/2);this.ctx.beginPath();this.ctx.arc(0,0,1,0,2*Math.PI,!1);this.ctx.restore()};
+mxJsCanvas.prototype.arcTo=function(a,b,c,d,e,g,h){a=mxUtils.arcToCurves(this.lastMoveX,this.lastMoveY,a,b,c,d,e,g,h);if(null!=a)for(b=0;b<a.length;b+=6)this.curveTo(a[b],a[b+1],a[b+2],a[b+3],a[b+4],a[b+5])};mxJsCanvas.prototype.curveTo=function(a,b,c,d,e,g){this.ctx.bezierCurveTo(a,b,c,d,e,g);this.lastMoveX=e;this.lastMoveY=g};mxJsCanvas.prototype.rect=function(a,b,c,d){this.begin();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.close()};
+mxJsCanvas.prototype.roundrect=function(a,b,c,d,e,g){this.begin();this.moveTo(a+e,b);this.lineTo(a+c-e,b);this.quadTo(a+c,b,a+c,b+g);this.lineTo(a+c,b+d-g);this.quadTo(a+c,b+d,a+c-e,b+d);this.lineTo(a+e,b+d);this.quadTo(a,b+d,a,b+d-g);this.lineTo(a,b+g);this.quadTo(a,b,a+e,b)};mxJsCanvas.prototype.ellipse=function(a,b,c,d){this.ctx.save();this.ctx.translate(a+c/2,b+d/2);this.ctx.scale(c/2,d/2);this.ctx.beginPath();this.ctx.arc(0,0,1,0,2*Math.PI,!1);this.ctx.restore()};
 mxJsCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url="+encodeURIComponent(a);return a};
-mxJsCanvas.prototype.image=function(a,b,c,d,e,f,h,l){e=this.rewriteImageSource(e);e=this.images[e];if(null!=e&&0<e.height&&0<e.width){var m=this.ctx;m.save();if(f){f=e.width;var g=e.height,k=Math.min(c/f,d/g);a+=(c-f*k)/2;b+=(d-g*k)/2;c=f*k;d=g*k}h&&(m.translate(2*a+c,0),m.scale(-1,1));l&&(m.translate(0,2*b+d),m.scale(1,-1));m.drawImage(e,a,b,c,d);m.restore()}};mxJsCanvas.prototype.begin=function(){this.ctx.beginPath()};mxJsCanvas.prototype.close=function(){this.ctx.closePath()};
+mxJsCanvas.prototype.image=function(a,b,c,d,e,g,h,l){e=this.rewriteImageSource(e);e=this.images[e];if(null!=e&&0<e.height&&0<e.width){var m=this.ctx;m.save();if(g){g=e.width;var f=e.height,k=Math.min(c/g,d/f);a+=(c-g*k)/2;b+=(d-f*k)/2;c=g*k;d=f*k}h&&(m.translate(2*a+c,0),m.scale(-1,1));l&&(m.translate(0,2*b+d),m.scale(1,-1));m.drawImage(e,a,b,c,d);m.restore()}};mxJsCanvas.prototype.begin=function(){this.ctx.beginPath()};mxJsCanvas.prototype.close=function(){this.ctx.closePath()};
 mxJsCanvas.prototype.fill=function(){this.ctx.fill()};mxJsCanvas.prototype.stroke=function(){this.ctx.stroke()};mxJsCanvas.prototype.fillAndStroke=function(){if(this.state.shadow){this.ctx.stroke();this.ctx.fill();var a=this.ctx.shadowColor,b=this.ctx.shadowOffsetX,c=this.ctx.shadowOffsetY;this.ctx.shadowColor="transparent";this.ctx.shadowOffsetX=0;this.ctx.shadowOffsetY=0;this.ctx.stroke();this.ctx.shadowColor=a;this.ctx.shadowOffsetX=b;this.ctx.shadowOffsetY=c}else this.ctx.fill(),this.ctx.stroke()};
-mxJsCanvas.prototype.text=function(a,b,c,d,e,f,h,l,m,g,k,n){if(null!=e&&0!=e.length){c=this.state.scale;0!=n&&(this.ctx.translate(Math.round(a),Math.round(b)),this.ctx.rotate(n*Math.PI/180),this.ctx.translate(Math.round(-a),Math.round(-b)));if("html"==m){e=this.subCanvas[this.canvasIndex++];m=e.height;n=e.width;switch(h){case mxConstants.ALIGN_MIDDLE:b-=m/2/c;break;case mxConstants.ALIGN_BOTTOM:b-=m/c}switch(f){case mxConstants.ALIGN_CENTER:a-=n/2/c;break;case mxConstants.ALIGN_RIGHT:a-=n/c}this.ctx.save();
+mxJsCanvas.prototype.text=function(a,b,c,d,e,g,h,l,m,f,k,n){if(null!=e&&0!=e.length){c=this.state.scale;0!=n&&(this.ctx.translate(Math.round(a),Math.round(b)),this.ctx.rotate(n*Math.PI/180),this.ctx.translate(Math.round(-a),Math.round(-b)));if("html"==m){e=this.subCanvas[this.canvasIndex++];m=e.height;n=e.width;switch(h){case mxConstants.ALIGN_MIDDLE:b-=m/2/c;break;case mxConstants.ALIGN_BOTTOM:b-=m/c}switch(g){case mxConstants.ALIGN_CENTER:a-=n/2/c;break;case mxConstants.ALIGN_RIGHT:a-=n/c}this.ctx.save();
 if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor)null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(Math.round(a)-.5,Math.round(b)-.5,Math.round(e.width/c),Math.round(e.height/c))),null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(Math.round(a)-.5,Math.round(b)-.5,Math.round(e.width/c),Math.round(e.height/c)));this.ctx.scale(1/c,1/c);this.ctx.drawImage(e,
 Math.round(a*c),Math.round(b*c))}else{this.ctx.save();this.updateFont();n=document.createElement("div");n.innerHTML=e;n.style.position="absolute";n.style.top="-9999px";n.style.left="-9999px";n.style.fontFamily=this.state.fontFamily;n.style.fontWeight="bold";n.style.fontSize=this.state.fontSize+"pt";document.body.appendChild(n);m=[n.offsetWidth,n.offsetHeight];document.body.removeChild(n);e=e.split("\n");n=m[1];this.ctx.textBaseline="top";m=b;switch(h){case mxConstants.ALIGN_MIDDLE:this.ctx.textBaseline=
-"middle";b-=(e.length-1)*n/2;m=b-this.state.fontSize/2;break;case mxConstants.ALIGN_BOTTOM:this.ctx.textBaseline="alphabetic",b-=n*(e.length-1),m=b-this.state.fontSize}h=[];n=[];for(c=0;c<e.length;c++)n[c]=a,h[c]=this.ctx.measureText(e[c]).width,null!=f&&f!=mxConstants.ALIGN_LEFT&&(n[c]-=h[c],f==mxConstants.ALIGN_CENTER&&(n[c]+=h[c]/2));if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor){a=n[0];f=h[0];for(c=1;c<e.length;c++)a=Math.min(a,n[c]),f=Math.max(f,h[c]);this.ctx.save();
-a=Math.round(a)-.5;m=Math.round(m)-.5;null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(a,m,f,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(a,m,f,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));this.ctx.restore()}for(c=0;c<e.length;c++)this.ctx.fillText(e[c],n[c],b),b+=this.state.fontSize*mxConstants.LINE_HEIGHT}this.ctx.restore()}};
+"middle";b-=(e.length-1)*n/2;m=b-this.state.fontSize/2;break;case mxConstants.ALIGN_BOTTOM:this.ctx.textBaseline="alphabetic",b-=n*(e.length-1),m=b-this.state.fontSize}h=[];n=[];for(c=0;c<e.length;c++)n[c]=a,h[c]=this.ctx.measureText(e[c]).width,null!=g&&g!=mxConstants.ALIGN_LEFT&&(n[c]-=h[c],g==mxConstants.ALIGN_CENTER&&(n[c]+=h[c]/2));if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor){a=n[0];g=h[0];for(c=1;c<e.length;c++)a=Math.min(a,n[c]),g=Math.max(g,h[c]);this.ctx.save();
+a=Math.round(a)-.5;m=Math.round(m)-.5;null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(a,m,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(a,m,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));this.ctx.restore()}for(c=0;c<e.length;c++)this.ctx.fillText(e[c],n[c],b),b+=this.state.fontSize*mxConstants.LINE_HEIGHT}this.ctx.restore()}};
 mxJsCanvas.prototype.getCanvas=function(){return canvas};mxJsCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};DrawioClient=function(a,b){mxEventSource.call(this);this.ui=a;this.cookieName=b;this.token=this.getPersistentToken()};mxUtils.extend(DrawioClient,mxEventSource);DrawioClient.prototype.token=null;DrawioClient.prototype.user=null;DrawioClient.prototype.setUser=function(a){this.user=a;this.fireEvent(new mxEventObject("userChanged"))};DrawioClient.prototype.getUser=function(){return this.user};
 DrawioClient.prototype.clearPersistentToken=function(){if(isLocalStorage)localStorage.removeItem("."+this.cookieName);else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie=this.cookieName+"=; expires="+a.toUTCString()}};
 DrawioClient.prototype.getPersistentToken=function(){var a=null;isLocalStorage&&(a=localStorage.getItem("."+this.cookieName));if(null==a&&"undefined"!=typeof Storage){var b=document.cookie,c=this.cookieName+"=",d=b.indexOf(c);0<=d&&(d+=c.length,a=b.indexOf(";",d),0>a?a=b.length:postCookie=b.substring(a),a=b.substring(d,a),a=0<a.length?a:null,null!=a&&isLocalStorage&&(b=new Date,b.setYear(b.getFullYear()-1),document.cookie=c+"; expires="+b.toUTCString(),localStorage.setItem("."+this.cookieName,a)))}return a};
@@ -7479,15 +7543,15 @@ DriveRealtime.prototype.processChange=function(a){if(a instanceof RenamePage)a.p
 else if(a instanceof mxChildChange){if(a.parent!=a.previous||a.index!=a.previousIndex){var b=a.child.rtCell;null==b&&(b=this.getCurrentPage().mapping.createRealtimeCell(a.child),this.getCurrentPage().mapping.saveRealtimeCell(b.cell));var c=null!=a.parent?a.parent.rtCell:null;if(null!=a.previous){var d=a.previous.rtCell;null!=d&&d.children.removeValue(b)}null!=c&&c.children.insert(Math.min(c.children.length,a.index),b);b.parent=c}}else null!=a.cell&&null!=a.cell.id&&(b=a.cell.rtCell,null!=b&&(a instanceof
 mxTerminalChange?b[a.source?"source":"target"]=null!=a.terminal?a.terminal.rtCell:null:a instanceof mxGeometryChange?b.geometry=null!=a.geometry?mxUtils.getXml(this.codec.encode(a.geometry)):null:a instanceof mxStyleChange?b.style=a.style:a instanceof mxValueChange?mxUtils.isNode(a.value)?(b.value=null,b.xmlValue=mxUtils.getXml(a.value)):(b.xmlValue=null,b.value=a.value):a instanceof mxCollapseChange?b.collapsed=a.collapsed?"1":"0":a instanceof mxVisibleChange&&(b.visible=a.visible?"1":"0")))};
 DriveRealtime.prototype.setFileModified=function(){this.root.set("modifiedDate",(new Date).getTime());this.file.setModified(!0);this.saving||(this.connected&&this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.saving=!0)};
-DriveRealtime.prototype.installGraphModelListener=function(){this.graphModelChangeListener=mxUtils.bind(this,function(a,b){var c=b.getProperty("edit");this.ignoreChange||!this.file.isEditable()||c.ignoreEdit||this.ui.drive.checkToken(mxUtils.bind(this,function(){this.rtModel.beginCompoundOperation();this.setFileModified();try{var a=c.changes;if(c.undone)for(var b=a.length-1;0<=b;b--)this.processChange(a[b]);else for(b=0;b<a.length;b++)this.processChange(a[b]);this.rtModel.endCompoundOperation()}catch(f){this.rtModel.endCompoundOperation(),
-this.ui.handleError(f)}null==this.isAliveThread&&(this.isAliveThread=window.setTimeout(mxUtils.bind(this,function(){this.connected&&this.ui.editor.setStatus('<div class="geStatusAlert geBlink">'+mxUtils.htmlEntities(mxResources.get("noResponse"))+' <a href="https://desk.draw.io/support/solutions/articles/16000076743" target="_blank"><img border="0" title="'+mxUtils.htmlEntities(mxResources.get("help"))+'" valign="bottom" src="'+Editor.helpImage+'"/></a></div>');this.isAliveThread=window.setTimeout(mxUtils.bind(this,
+DriveRealtime.prototype.installGraphModelListener=function(){this.graphModelChangeListener=mxUtils.bind(this,function(a,b){var c=b.getProperty("edit");this.ignoreChange||!this.file.isEditable()||c.ignoreEdit||this.ui.drive.checkToken(mxUtils.bind(this,function(){this.rtModel.beginCompoundOperation();this.setFileModified();try{var a=c.changes;if(c.undone)for(var b=a.length-1;0<=b;b--)this.processChange(a[b]);else for(b=0;b<a.length;b++)this.processChange(a[b]);this.rtModel.endCompoundOperation()}catch(g){this.rtModel.endCompoundOperation(),
+this.ui.handleError(g)}null==this.isAliveThread&&(this.isAliveThread=window.setTimeout(mxUtils.bind(this,function(){this.connected&&this.ui.editor.setStatus('<div class="geStatusAlert geBlink">'+mxUtils.htmlEntities(mxResources.get("noResponse"))+' <a href="https://desk.draw.io/support/solutions/articles/16000076743" target="_blank"><img border="0" title="'+mxUtils.htmlEntities(mxResources.get("help"))+'" valign="bottom" src="'+Editor.helpImage+'"/></a></div>');this.isAliveThread=window.setTimeout(mxUtils.bind(this,
 function(){this.isAliveThread=null;this.timeoutError()}),this.realtimeHeartbeat)}),this.realtimeHeartbeat))}))});this.model.addListener(mxEvent.CHANGE,this.graphModelChangeListener)};DriveRealtime.prototype.sessionExpiredError=function(){this.ui.showError(mxResources.get("error"),mxResources.get("sessionExpired"),mxResources.get("refresh"),mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("connecting"));this.file.setModified(!1);window.location.reload()}))};
 DriveRealtime.prototype.timeoutError=function(){if(this.ui.editor.autosave)this.ui.editor.setAutosave(!1);else if(this.connected&&!this.timeoutErrorShowing){var a=new Image;a.onload=mxUtils.bind(this,function(){try{var a=this.ui.drive.getUser().email||"Unknown email",c=this.file.desc;this.ui.logEvent({category:"Disconnected",action:a,label:{id:c.id,editable:c.editable,copyable:c.copyable,labels:c.labels,capabilities:c.capabilities,fileSize:c.fileSize,teamDriveId:c.teamDriveId,fileExtension:c.fileExtension,
 mimeType:c.mimeType,explicitlyTrashed:c.explicitlyTrashed,autosave:this.ui.editor.autosave}})}catch(d){}this.timeoutErrorShowing=!0;this.ui.showError(mxResources.get("timeout"),mxResources.get("realtimeTimeout"),mxResources.get("discardChangesAndReconnect"),mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("connecting"));this.file.setModified(!1);window.location.reload()}),null,mxResources.get("ignore"),mxUtils.bind(this,function(){this.showDisconnectedStatus();this.timeoutErrorShowing=
 !1;this.realtimeHeartbeat*=2;this.saving=this.connected=!1}),mxResources.get("help"),mxUtils.bind(this,function(){this.ui.openLink("https://desk.draw.io/support/solutions/articles/16000076743")}),480,150)});a.src=IMAGE_PATH+"/1x1.png?t="+(new Date).getTime()}};
 DriveRealtime.prototype.showDisconnectedStatus=function(){this.ui.editor.setStatus('<div class="geStatusAlert geBlink">'+mxUtils.htmlEntities(mxResources.get("disconnected"))+' <a href="https://desk.draw.io/support/solutions/articles/16000076743" target="_blank"><img border="0" title="'+mxUtils.htmlEntities(mxResources.get("help"))+'" valign="bottom" src="'+Editor.helpImage+'"/></a></div>')};
 DriveRealtime.prototype.initializeChat=function(){this.chatHistory=this.rtModel.createList();this.root.set("chatHistory",this.chatHistory)};
-DriveRealtime.prototype.installSelectionModelListener=function(){this.graphSelectionModelChangeListener=mxUtils.bind(this,function(a,b){this.ui.drive.checkToken(mxUtils.bind(this,function(){if(this.file.isEditable()&&!this.graph.isSelectionEmpty())try{for(var a=this.graph.getSelectionCells(),b="",e=0;e<a.length;e++)b+=a[e].id+",";this.getCurrentPage().mapping.selectionMap.set(this.userId,b)}catch(f){this.ui.handleError(f)}}))});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.graphSelectionModelChangeListener)};
+DriveRealtime.prototype.installSelectionModelListener=function(){this.graphSelectionModelChangeListener=mxUtils.bind(this,function(a,b){this.ui.drive.checkToken(mxUtils.bind(this,function(){if(this.file.isEditable()&&!this.graph.isSelectionEmpty())try{for(var a=this.graph.getSelectionCells(),b="",e=0;e<a.length;e++)b+=a[e].id+",";this.getCurrentPage().mapping.selectionMap.set(this.userId,b)}catch(g){this.ui.handleError(g)}}))});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.graphSelectionModelChangeListener)};
 DriveRealtime.prototype.installCollaboratorListener=function(){this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_JOINED,mxUtils.bind(this,this.updateCollaborators));this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_LEFT,mxUtils.bind(this,this.updateCollaborators))};
 DriveRealtime.prototype.updateCollaborators=function(){var a=this.doc.getCollaborators().length-1;null==this.collaboratorsElement&&(this.collaboratorsElement=document.createElement("a"),this.collaboratorsElement.setAttribute("href","javascript:void(0);"),this.collaboratorsElement.className="geItem",this.collaboratorsElement.style.position="absolute",this.collaboratorsElement.style.display="inline-block",this.collaboratorsElement.style.verticalAlign="bottom",this.collaboratorsElement.style.color="#666",
 this.collaboratorsElement.style.top="10px",this.collaboratorsElement.style.right="atlas"==uiTheme?"42px":"68px",this.collaboratorsElement.style.padding="2px",this.collaboratorsElement.style.fontSize="8pt",this.collaboratorsElement.style.verticalAlign="middle",this.collaboratorsElement.style.backgroundPosition="100% 60%",this.collaboratorsElement.style.backgroundRepeat="no-repeat",540>=screen.width&&(this.collaboratorsElement.style.maxWidth=Math.max(10,screen.width-500)+"px",this.collaboratorsElement.style.overflow=
@@ -7496,8 +7560,8 @@ this.collaboratorsElement.clientHeight+this.ui.menubarHeight+8+"px",document.bod
 1<this.doc.getCollaborators().length)for(var c=0;c<this.doc.getCollaborators().length;c+=1){var d=this.doc.getCollaborators()[c];if(!d.isMe){var e=document.createElement("div");e.style.cursor="pointer";e.style.whiteSpace="nowrap";b=document.createElement("img");b.src=d.photoUrl;b.style.backgroundColor=d.color;b.style.paddingBottom="8px";b.style.marginRight="10px";b.style.marginTop="2px";b.style.marginBottom="2px";b.style.height="25px";b.style.width="25px";b.setAttribute("align","absmiddle");e.appendChild(b);
 mxUtils.write(e,d.displayName);this.collabPanel.appendChild(e);mxEvent.addListener(e,"click",mxUtils.bind(this,function(){var a=this.getCurrentPage().mapping.selectionMap.get(d.userId);if(null!=a)for(var a=a.split(","),b=0;b<a.length;b++){var c=this.model.getCell(a[b]);this.highlight(c,d.sessionId);null!=c&&0==b&&this.graph.scrollCellToVisible(c)}}))}}else mxUtils.write(this.collabPanel,mxResources.get("noOtherViewers"));else null!=this.collabPanel.parentNode&&this.collabPanel.parentNode.removeChild(this.collabPanel);
 mxEvent.consume(a)})),mxEvent.addListener(document.body,"click",mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||null==this.collabPanel||null==this.collabPanel.parentNode||this.collabPanel.parentNode.removeChild(this.collabPanel)})));var b=mxResources.get(0==a?"noOtherViewers":1==a?"otherViewer":"otherViewers");0<a?(b=a+" "+b,this.collaboratorsElement.style.paddingRight="16px",this.collaboratorsElement.style.backgroundImage="url("+IMAGE_PATH+"/expanded.gif)",this.collaboratorsElement.style.cursor=
-"pointer"):(this.collaboratorsElement.style.paddingRight="0px",this.collaboratorsElement.style.backgroundImage="",this.collaboratorsElement.style.cursor="default");for(var a='<div title="'+b+'" style="display:inline-block;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;">'+b+"</div>",b={},c=0,d=0;d<this.doc.getCollaborators().length&&6>c;d+=1){var e=this.doc.getCollaborators()[d];e.isMe||null!=b[e.color]||(b[e.color]=e.displayName,c++)}for(var f in b)a+='<div title="'+mxUtils.htmlEntities(b[f])+
-'" style="display:inline-block;background-color:'+f+';width:13px;height:13px;margin-left:4px;margin-top:-1px;"></div>';this.collaboratorsElement.innerHTML=a};DriveRealtime.prototype.createPrefix=function(){for(var a=this.doc.getCollaborators(),b=0;b<a.length;b++)if(a[b].isMe)return a[b].sessionId;return""};
+"pointer"):(this.collaboratorsElement.style.paddingRight="0px",this.collaboratorsElement.style.backgroundImage="",this.collaboratorsElement.style.cursor="default");for(var a='<div title="'+b+'" style="display:inline-block;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;">'+b+"</div>",b={},c=0,d=0;d<this.doc.getCollaborators().length&&6>c;d+=1){var e=this.doc.getCollaborators()[d];e.isMe||null!=b[e.color]||(b[e.color]=e.displayName,c++)}for(var g in b)a+='<div title="'+mxUtils.htmlEntities(b[g])+
+'" style="display:inline-block;background-color:'+g+';width:13px;height:13px;margin-left:4px;margin-top:-1px;"></div>';this.collaboratorsElement.innerHTML=a};DriveRealtime.prototype.createPrefix=function(){for(var a=this.doc.getCollaborators(),b=0;b<a.length;b++)if(a[b].isMe)return a[b].sessionId;return""};
 DriveRealtime.prototype.highlight=function(a,b){for(var c="red",d=0;d<this.doc.getCollaborators().length;d+=1){var e=this.doc.getCollaborators()[d];if(e.sessionId==b){c=e.color;break}}this.graph.highlightCell(a,c)};DriveRealtime.prototype.dumpRoot=function(){return this.dump(this.root)};
 DriveRealtime.prototype.dump=function(a){var b="";if(null!=a){if(a.constructor==mxCell)return a.id;if(a.constructor==mxRootChange)b+="mxRootChange[root="+this.dump(a.root)+"]";else if(a.constructor==mxChildChange)b+="mxChildChange[parent="+this.dump(a.parent)+", child="+this.dump(a.child.id)+", index="+a.index+"]";else if(a.constructor==mxTerminalChange)b+="mxTerminalChange[cell="+this.dump(a.cell)+", terminal="+this.dump(a.terminal)+", source="+a.source+"]";else if(a.constructor==mxValueChange)b+=
 "mxValueChange[cell="+this.dump(a.cell)+", value="+a.value+"]";else if(a.constructor==mxGeometryChange)b+="mxGeometryChange[cell="+this.dump(a.cell)+", geometry="+(null!=a.cell.geometry?mxUtils.getXml(this.codec.encode(a.cell.geometry)):"[null]")+"]";else if(a.constructor==mxStyleChange)b+="mxStyleChange[cell="+this.dump(a.cell)+", style="+a.style+"]";else if(a.constructor==mxVisibleChange)b+="mxVisibleChange[cell="+this.dump(a.cell)+", visible="+a.visible+"]";else if(a.constructor==mxCollapseChange)b+=
@@ -7538,11 +7602,11 @@ null!=b.getTerminalPoint(!0))&&(null!=this.graphModel.getTerminal(a.cell,!1)||nu
 RealtimeMapping.prototype.beginUpdate=function(){var a=this.getGraphModel();this.driveRealtime.ignoreChange||(this.driveRealtime.ignoreChange=!0,a.beginUpdate(),window.setTimeout(mxUtils.bind(this,function(){a.endUpdate();this.driveRealtime.ignoreChange=!1}),0));return a};RealtimeMapping.prototype.installAllRealtimeCellListeners=function(a){if(null!=a){this.installRealtimeCellListeners(a);for(var b=0;b<a.children.length;b++)this.installAllRealtimeCellListeners(a.children.get(b))}};
 RealtimeMapping.prototype.installRealtimeCellListeners=function(a){a.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(b){this.handleValueChanged(a,b);this.needsUpdate=!0}));a.children.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this,function(b){this.handleValuesAdded(a,b);this.needsUpdate=!0}));a.children.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED,mxUtils.bind(this,function(b){this.handleValuesRemoved(a,b);this.needsUpdate=
 !0}))};
-RealtimeMapping.prototype.handleValueChanged=function(a,b){var c=a.cell;if(!this.driveRealtime.isLocalEvent(b)&&null!=c){var d=b.newValue,e=b.property,f=this.beginUpdate();"type"==e?(c.vertex="vertex"==d,c.edge="edge"==d):"connectable"==e?c.connectable="1"==d:"source"==e||"target"==e?null==d?null!=b.oldValue&&f.setTerminal(c,null,"source"==e):null!=d.cell&&this.containsRealtimeCell(d)&&null!=f.getCell(d.cellId)?f.setTerminal(c,d.cell,"source"==e):(null!=a.parent&&(a.parent.children.removeValue(a),a.parent=
-null),f.setTerminal(c,null,"source"==e),f.remove(a.cell),a[e]=null):"value"==e?f.setValue(c,d):"xmlValue"==e?f.setValue(c,mxUtils.parseXml(d).documentElement):"style"==e?f.setStyle(c,d):"geometry"==e?(d=null!=d?this.driveRealtime.codec.decode(mxUtils.parseXml(d).documentElement):null,f.setGeometry(c,d)):"collapsed"==e?f.setCollapsed(c,"1"==d):"visible"==e?f.setVisible(c,"1"==d):"parent"==e&&(null!=b.oldValue?b.oldValue.children.removeValue(a):(this.createCell(a),this.restoreCell(a)),null==d?f.remove(c):
-(c=d.children.indexOf(a),0<=c&&f.add(d.cell,a.cell,c)))}};
-RealtimeMapping.prototype.handleValuesAdded=function(a,b){if(!this.driveRealtime.isLocalEvent(b))for(var c=this.beginUpdate(),d=0;d<b.values.length;d++){var e=b.values[d];if(null!=e.parent)if(e.parent!=a)a.children.removeValue(e);else{if(null==e.cell||null==e.cell.parent)this.createCell(e),this.restoreCell(e);for(var f=a.children.indexOf(e),h=a.children.lastIndexOf(e);f!=h;)a.children.remove(h),h=a.children.lastIndexOf(e);e.parent==a&&c.add(a.cell,e.cell,Math.min(f,b.index+d))}}};
-RealtimeMapping.prototype.handleValuesRemoved=function(a,b){if(!this.driveRealtime.isLocalEvent(b))for(var c=this.beginUpdate(),d=0;d<b.values.length;d++){var e=b.values[d];if(null!=e.cell)if(null!=e.parent&&e.parent!=a&&e.cell.parent!=e.parent.cell){var f=e.parent.children.indexOf(e);c.add(e.parent.cell,e.cell,f)}else f=a.children.indexOf(e),0<=f&&c.add(a.cell,e.cell,f)}};
+RealtimeMapping.prototype.handleValueChanged=function(a,b){var c=a.cell;if(!this.driveRealtime.isLocalEvent(b)&&null!=c){var d=b.newValue,e=b.property,g=this.beginUpdate();"type"==e?(c.vertex="vertex"==d,c.edge="edge"==d):"connectable"==e?c.connectable="1"==d:"source"==e||"target"==e?null==d?null!=b.oldValue&&g.setTerminal(c,null,"source"==e):null!=d.cell&&this.containsRealtimeCell(d)&&null!=g.getCell(d.cellId)?g.setTerminal(c,d.cell,"source"==e):(null!=a.parent&&(a.parent.children.removeValue(a),a.parent=
+null),g.setTerminal(c,null,"source"==e),g.remove(a.cell),a[e]=null):"value"==e?g.setValue(c,d):"xmlValue"==e?g.setValue(c,mxUtils.parseXml(d).documentElement):"style"==e?g.setStyle(c,d):"geometry"==e?(d=null!=d?this.driveRealtime.codec.decode(mxUtils.parseXml(d).documentElement):null,g.setGeometry(c,d)):"collapsed"==e?g.setCollapsed(c,"1"==d):"visible"==e?g.setVisible(c,"1"==d):"parent"==e&&(null!=b.oldValue?b.oldValue.children.removeValue(a):(this.createCell(a),this.restoreCell(a)),null==d?g.remove(c):
+(c=d.children.indexOf(a),0<=c&&g.add(d.cell,a.cell,c)))}};
+RealtimeMapping.prototype.handleValuesAdded=function(a,b){if(!this.driveRealtime.isLocalEvent(b))for(var c=this.beginUpdate(),d=0;d<b.values.length;d++){var e=b.values[d];if(null!=e.parent)if(e.parent!=a)a.children.removeValue(e);else{if(null==e.cell||null==e.cell.parent)this.createCell(e),this.restoreCell(e);for(var g=a.children.indexOf(e),h=a.children.lastIndexOf(e);g!=h;)a.children.remove(h),h=a.children.lastIndexOf(e);e.parent==a&&c.add(a.cell,e.cell,Math.min(g,b.index+d))}}};
+RealtimeMapping.prototype.handleValuesRemoved=function(a,b){if(!this.driveRealtime.isLocalEvent(b))for(var c=this.beginUpdate(),d=0;d<b.values.length;d++){var e=b.values[d];if(null!=e.cell)if(null!=e.parent&&e.parent!=a&&e.cell.parent!=e.parent.cell){var g=e.parent.children.indexOf(e);c.add(e.parent.cell,e.cell,g)}else g=a.children.indexOf(e),0<=g&&c.add(a.cell,e.cell,g)}};
 RealtimeMapping.prototype.realtimePageFormatChanged=function(a,b){if(null!=a){var c=a.split(",");1<c.length&&(this.isActive()?b?this.graph.pageFormat=new mxRectangle(0,0,parseInt(c[0]),parseInt(c[1])):(this.driveRealtime.ignorePageFormatChanged=!0,this.ui.setPageFormat(new mxRectangle(0,0,parseInt(c[0]),parseInt(c[1]))),this.driveRealtime.ignorePageFormatChanged=!1):null!=this.page.viewState&&(this.page.viewState.pageFormat=new mxRectangle(0,0,parseInt(c[0]),parseInt(c[1]))))}};
 RealtimeMapping.prototype.realtimePageScaleChanged=function(a,b){null!=a&&(this.isActive()?b?this.graph.pageScale=parseFloat(a):(this.driveRealtime.ignorePageScaleChanged=!0,this.ui.setPageScale(parseFloat(a)),this.driveRealtime.ignorePageScaleChanged=!1):null!=this.page.viewState&&(this.page.viewState.pageScale=parseFloat(a)))};
 RealtimeMapping.prototype.realtimeBackgroundColorChanged=function(a,b){this.isActive()?b?this.graph.background=""==a?null:a:(this.driveRealtime.ignoreBackgroundColorChanged=!0,this.ui.setBackgroundColor(""==a?null:a),this.driveRealtime.ignoreBackgroundColorChanged=!1):null!=this.page.viewState&&(this.page.viewState.background=""==a?null:a)};
@@ -7555,8 +7619,8 @@ RealtimeMapping.prototype.removeAllRealtimeCellListeners=function(a){if(null!=a)
 DriveFile.prototype.getPublicUrl=function(a){gapi.client.drive.permissions.list({fileId:this.desc.id}).execute(mxUtils.bind(this,function(b){if(null!=b&&null!=b.items)for(var c=0;c<b.items.length;c++)if("anyoneWithLink"===b.items[c].id||"anyone"===b.items[c].id){a(this.desc.webContentLink);return}a(null)}))};DriveFile.prototype.isAutosaveOptional=function(){return!0};DriveFile.prototype.isAutosave=function(){return this.ui.editor.autosave||this.isAutosaveRevision()};
 DriveFile.prototype.isAutosaveNow=function(){if(null!=this.realtime&&null!=this.realtime.root){var a=parseInt(this.realtime.root.get("backupDate")),b=parseInt(this.realtime.root.get("modifiedDate"));return isNaN(a)||isNaN(b)||a<b}return!0};DriveFile.prototype.autosaveCompleted=function(){null!=this.realtime&&null!=this.realtime.root&&this.realtime.root.set("backupDate",(new Date).getTime())};
 DriveFile.prototype.isRenamable=function(){return this.isEditable()&&DrawioFile.prototype.isEditable.apply(this,arguments)};DriveFile.prototype.isMovable=function(){return this.isEditable()};DriveFile.prototype.save=function(a,b,c,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(null,a,b,c,d)};
-DriveFile.prototype.saveFile=function(a,b,c,d,e){if(!this.isEditable())null!=c&&c();else if(!this.savingFile){this.savingFile=!0;var f=this.isModified,h=this.isModified();this.setModified(!1);this.ui.drive.saveFile(this,b,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=f;0!=a?(b&&(this.lastAutosaveRevision=(new Date).getTime()),this.desc=a,this.contentChanged(),null!=c&&c(a)):(this.setModified(h||this.isModified()),null!=d&&d())}),mxUtils.bind(this,function(a){this.savingFile=!1;
-this.isModified=f;this.setModified(h||this.isModified());null!=d&&d(a)}),e,e)}};DriveFile.prototype.saveAs=function(a,b,c){this.ui.drive.copyFile(this.getId(),a,b,c)};DriveFile.prototype.rename=function(a,b,c){this.ui.drive.renameFile(this.getId(),a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.desc=d,this.descriptorChanged(),null!=b&&b(d)):(this.desc=d,this.save(!0,b,c))}),c)};
+DriveFile.prototype.saveFile=function(a,b,c,d,e){if(!this.isEditable())null!=c&&c();else if(!this.savingFile){this.savingFile=!0;var g=this.isModified,h=this.isModified();this.setModified(!1);this.ui.drive.saveFile(this,b,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=g;0!=a?(b&&(this.lastAutosaveRevision=(new Date).getTime()),this.desc=a,this.contentChanged(),null!=c&&c(a)):(this.setModified(h||this.isModified()),null!=d&&d())}),mxUtils.bind(this,function(a){this.savingFile=!1;
+this.isModified=g;this.setModified(h||this.isModified());null!=d&&d(a)}),e,e)}};DriveFile.prototype.saveAs=function(a,b,c){this.ui.drive.copyFile(this.getId(),a,b,c)};DriveFile.prototype.rename=function(a,b,c){this.ui.drive.renameFile(this.getId(),a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.desc=d,this.descriptorChanged(),null!=b&&b(d)):(this.desc=d,this.save(!0,b,c))}),c)};
 DriveFile.prototype.move=function(a,b,c){this.ui.drive.moveFile(this.getId(),a,mxUtils.bind(this,function(a){this.desc=a;this.descriptorChanged();null!=b&&b(a)}),c)};DriveFile.prototype.getTitle=function(){return this.desc.title};DriveFile.prototype.getHash=function(){return"G"+this.getId()};DriveFile.prototype.getId=function(){return this.desc.id};
 DriveFile.prototype.isEditable=function(){var a=DrawioFile.prototype.isEditable.apply(this,arguments);return null!=this.realtime?a&&!this.realtime.rtModel.isReadOnly:a&&this.desc.editable};DriveFile.prototype.open=function(){null!=this.realtime?this.realtime.start():DrawioFile.prototype.open.apply(this,arguments)};DriveFile.prototype.close=function(a){a=null!=a?a:!1;DrawioFile.prototype.close.apply(this,arguments);null!=this.realtime&&(this.realtime.destroy(a),this.realtime=null)};DriveLibrary=function(a,b,c){DriveFile.call(this,a,b);this.desc=c};mxUtils.extend(DriveLibrary,DriveFile);DriveLibrary.prototype.isAutosave=function(){return!0};DriveLibrary.prototype.save=function(a,b,c){this.ui.drive.saveFile(this,a,mxUtils.bind(this,function(a){this.desc=a;null!=b&&b(a)}),c)};DriveLibrary.prototype.open=function(){};DriveClient=function(a){mxEventSource.call(this);this.ui=a;this.ui.editor.isChromelessView()&&"1"!=urlParams.rt?(this.appId="850530949725",this.clientId="850530949725.apps.googleusercontent.com",this.scopes=["https://www.googleapis.com/auth/drive.readonly","openid"],this.mimeType="all_types_supported"):this.ui.isDriveDomain()?(this.appId="671128082532",this.clientId="671128082532.apps.googleusercontent.com",this.mimeType="application/vnd.jgraph.mxfile.realtime"):(this.appId="420247213240",this.clientId=
 "420247213240-hnbju1pt13seqrc1hhd5htpotk4g9q7u.apps.googleusercontent.com",this.mimeType="application/vnd.jgraph.mxfile.rtlegacy");this.mimeTypes="application/mxe,application/vnd.jgraph.mxfile,application/mxr,application/vnd.jgraph.mxfile.realtime,application/vnd.jgraph.mxfile.rtlegacy"};mxUtils.extend(DriveClient,mxEventSource);
@@ -7569,35 +7633,35 @@ DriveClient.prototype.setUserId=function(a,b){if(b)if(isLocalStorage)localStorag
 DriveClient.prototype.getUserId=function(){var a=null;null!=this.user&&(a=this.user.id);null==a&&isLocalStorage&&(a=localStorage.getItem(".guid"));if(null==a&&"undefined"!=typeof Storage){for(var b=document.cookie.split(";"),c=0;c<b.length;c++){var d=mxUtils.trim(b[c]);if("GUID="==d.substring(0,5)){a=d.substring(5);break}}null!=a&&isLocalStorage&&(b=new Date,b.setYear(b.getFullYear()-1),document.cookie="GUID=; expires="+b.toUTCString(),localStorage.setItem(".guid",a))}return a};
 DriveClient.prototype.execute=function(a){var b=mxUtils.bind(this,function(b){this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(b,c){this.authorize(!1,mxUtils.bind(this,function(){null!=c&&c();a()}),mxUtils.bind(this,function(a){var b=mxResources.get("cannotLogin");null!=a&&null!=a.error&&403==a.error.code&&null!=a.error.data&&0<a.error.data.length&&"domainPolicy"==a.error.data[0].reason&&(b=a.error.message);this.ui.drive.clearUserId();this.ui.drive.setUser(null);gapi.auth.signOut();this.ui.showError(mxResources.get("error"),
 b,mxResources.get("help"),mxUtils.bind(this,function(){this.ui.openLink("https://desk.draw.io/support/solutions/articles/16000074659")}),null,mxResources.get("ok"))}),b)}))});this.authorize(!0,a,b)};
-DriveClient.prototype.executeRequest=function(a,b,c){var d=!0,e=null,f=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var h=mxUtils.bind(this,function(){this.requestThread=null;this.currentRequest=a;null!=e&&window.clearTimeout(e);e=window.setTimeout(mxUtils.bind(this,function(){d=!1;null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})}),this.ui.timeout);a.execute(mxUtils.bind(this,function(l){window.clearTimeout(e);d&&(null!=l&&null==l.error?null!=b&&b(l):null!=c&&null!=l&&null!=l.error&&
-403==l.error.code&&("The requested mime type change is forbidden."==l.error.message||null!=l.error.data&&"domainPolicy"==l.error.data[0].reason)?c(l):null==l||null==l.error||401!=l.error.code&&403!=l.error.code?null!=l&&null!=l.error&&404!=l.error.code&&this.currentRequest==a&&f<this.maxRetries?(f++,this.requestThread=window.setTimeout(h,Math.round(Math.pow(2,f)*(1+.1*(Math.random()-.5))*1E3))):null!=c&&c(l):403==l.error.code&&null!=this.user?null!=c&&c(l):this.execute(h))}))});null==gapi.auth.getToken()?
-this.execute(h):h()};DriveClient.prototype.authorize=function(a,b,c,d){var e=this.getUserId();null!=this.ui.stateArg&&null!=this.ui.stateArg.userId&&(e=this.ui.stateArg.userId);if(a&&null==e)null!=c&&c();else{var f={scope:this.scopes,client_id:this.clientId};a&&null!=e?(f.immediate=!0,f.user_id=e):(f.immediate=!1,f.authuser=-1);gapi.auth.authorize(f,mxUtils.bind(this,function(f){null!=f&&null==f.error?null!=this.user&&a&&this.user.id==e?null!=b&&b():this.updateUser(b,c,d):null!=c&&c(f);this.resetTokenRefresh(f)}))}};
+DriveClient.prototype.executeRequest=function(a,b,c){var d=!0,e=null,g=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var h=mxUtils.bind(this,function(){this.requestThread=null;this.currentRequest=a;null!=e&&window.clearTimeout(e);e=window.setTimeout(mxUtils.bind(this,function(){d=!1;null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})}),this.ui.timeout);a.execute(mxUtils.bind(this,function(l){window.clearTimeout(e);d&&(null!=l&&null==l.error?null!=b&&b(l):null!=c&&null!=l&&null!=l.error&&
+403==l.error.code&&("The requested mime type change is forbidden."==l.error.message||null!=l.error.data&&"domainPolicy"==l.error.data[0].reason)?c(l):null==l||null==l.error||401!=l.error.code&&403!=l.error.code?null!=l&&null!=l.error&&404!=l.error.code&&this.currentRequest==a&&g<this.maxRetries?(g++,this.requestThread=window.setTimeout(h,Math.round(Math.pow(2,g)*(1+.1*(Math.random()-.5))*1E3))):null!=c&&c(l):403==l.error.code&&null!=this.user?null!=c&&c(l):this.execute(h))}))});null==gapi.auth.getToken()?
+this.execute(h):h()};DriveClient.prototype.authorize=function(a,b,c,d){var e=this.getUserId();null!=this.ui.stateArg&&null!=this.ui.stateArg.userId&&(e=this.ui.stateArg.userId);if(a&&null==e)null!=c&&c();else{var g={scope:this.scopes,client_id:this.clientId};a&&null!=e?(g.immediate=!0,g.user_id=e):(g.immediate=!1,g.authuser=-1);gapi.auth.authorize(g,mxUtils.bind(this,function(g){null!=g&&null==g.error?null!=this.user&&a&&this.user.id==e?null!=b&&b():this.updateUser(b,c,d):null!=c&&c(g);this.resetTokenRefresh(g)}))}};
 DriveClient.prototype.resetTokenRefresh=function(a){null!=this.tokenRefreshThread&&(window.clearTimeout(this.tokenRefreshThread),this.tokenRefreshThread=null);null!=a&&null==a.error&&0<a.expires_in&&(this.tokenRefreshInterval=1E3*parseInt(a.expires_in),this.lastTokenRefresh=(new Date).getTime(),this.tokenRefreshThread=window.setTimeout(mxUtils.bind(this,function(){this.authorize(!0,mxUtils.bind(this,function(){}),mxUtils.bind(this,function(){}))}),900*a.expires_in))};
 DriveClient.prototype.checkToken=function(a){var b=0<this.lastTokenRefresh;(new Date).getTime()-this.lastTokenRefresh>this.tokenRefreshInterval||null==this.tokenRefreshThread?this.execute(mxUtils.bind(this,function(){a();b&&this.fireEvent(new mxEventObject("disconnected"))})):a()};
 DriveClient.prototype.updateUser=function(a,b,c){var d=gapi.auth.getToken().access_token;this.ui.loadUrl("https://www.googleapis.com/oauth2/v2/userinfo?alt=json&access_token="+d,mxUtils.bind(this,function(b){b=JSON.parse(b);this.setUser(new DrawioUser(b.id,b.email,b.name,b.picture,b.locale));this.setUserId(b.id,c);null!=a&&a()}),b)};
 DriveClient.prototype.copyFile=function(a,b,c,d){null!=a&&null!=b&&this.executeRequest(gapi.client.drive.files.copy({fileId:a,resource:{title:b},supportsTeamDrives:!0}),c,d)};DriveClient.prototype.renameFile=function(a,b,c,d){null!=a&&null!=b&&this.executeRequest(this.createDriveRequest(a,{title:b}),c,d)};DriveClient.prototype.moveFile=function(a,b,c,d){null!=a&&null!=b&&this.executeRequest(this.createDriveRequest(a,{parents:[{kind:"drive#fileLink",id:b}]}),c,d)};
 DriveClient.prototype.createDriveRequest=function(a,b){return gapi.client.request({path:"/drive/v2/files/"+a,method:"PUT",params:{uploadType:"multipart",supportsTeamDrives:!0},headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(b)})};DriveClient.prototype.getLibrary=function(a,b,c){return this.getFile(a,b,c,!0,!0)};
-DriveClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;e=null!=e?e:!1;null!=urlParams.rev?this.executeRequest(gapi.client.drive.revisions.get({fileId:a,revisionId:urlParams.rev}),mxUtils.bind(this,function(a){this.getXmlFile(a,null,b,c)}),c):this.executeRequest(gapi.client.drive.files.get({fileId:a,supportsTeamDrives:!0}),mxUtils.bind(this,function(a){if(null!=this.user){var f=/\.png$/i.test(a.title);/\.vsdx?$/i.test(a.title)||/\.gliffy$/i.test(a.title)||!this.ui.useCanvasForExport&&f?(f=
-a.downloadUrl+"&access_token="+gapi.auth.getToken().access_token,this.ui.convertFile(f,a.title,a.mimeType,this.extension,b,c)):d||e||a.mimeType==this.libraryMimeType?this.getXmlFile(a,null,b,c,!0,e):this.loadRealtime(a,mxUtils.bind(this,function(d){try{null==d||null==d.getModel()||null==d.getModel().getRoot()||d.getModel().getRoot().isEmpty()||d.getModel().getRoot().has("cells")&&!d.getModel().getRoot().has(DriveRealtime.prototype.diagramsKey)?this.getXmlFile(a,d,b,c):b(new DriveFile(this.ui,null,
+DriveClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;e=null!=e?e:!1;null!=urlParams.rev?this.executeRequest(gapi.client.drive.revisions.get({fileId:a,revisionId:urlParams.rev}),mxUtils.bind(this,function(a){this.getXmlFile(a,null,b,c)}),c):this.executeRequest(gapi.client.drive.files.get({fileId:a,supportsTeamDrives:!0}),mxUtils.bind(this,function(a){if(null!=this.user){var g=/\.png$/i.test(a.title);/\.vsdx?$/i.test(a.title)||/\.gliffy$/i.test(a.title)||!this.ui.useCanvasForExport&&g?(g=
+a.downloadUrl+"&access_token="+gapi.auth.getToken().access_token,this.ui.convertFile(g,a.title,a.mimeType,this.extension,b,c)):d||e||a.mimeType==this.libraryMimeType?this.getXmlFile(a,null,b,c,!0,e):this.loadRealtime(a,mxUtils.bind(this,function(d){try{null==d||null==d.getModel()||null==d.getModel().getRoot()||d.getModel().getRoot().isEmpty()||d.getModel().getRoot().has("cells")&&!d.getModel().getRoot().has(DriveRealtime.prototype.diagramsKey)?this.getXmlFile(a,d,b,c):b(new DriveFile(this.ui,null,
 a,d))}catch(m){c(m)}}),c)}else c({message:mxResources.get("loggedOut")})}),c)};
-DriveClient.prototype.loadRealtime=function(a,b,c){if("1"==urlParams.ignoremime||"420247213240"!=this.appId||"application/vnd.jgraph.mxfile.realtime"!=a.mimeType&&"application/mxr"!=a.mimeType)if("850530949725"!=this.appId&&(a.editable||"application/mxe"!=a.mimeType&&"application/vnd.jgraph.mxfile"!=a.mimeType)){var d=mxUtils.bind(this,function(){var e=!0,f=window.setTimeout(mxUtils.bind(this,function(){e=!1;c({code:App.ERROR_TIMEOUT,retry:d})}),this.ui.timeout);gapi.drive.realtime.load(a.id,mxUtils.bind(this,
-function(a){window.clearTimeout(f);e&&b(a)}))});d()}else b();else this.redirectToNewApp(c,a.id)};
-DriveClient.prototype.getXmlFile=function(a,b,c,d,e,f){var h=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"&access_token="+h,mxUtils.bind(this,function(h){if(null==h)d({message:mxResources.get("invalidOrMissingFile")});else if(a.mimeType==this.libraryMimeType||f)a.mimeType!=this.libraryMimeType||f?c(new DriveLibrary(this.ui,h,a)):d({message:mxResources.get("notADiagramFile")});else{if(/\.png$/i.test(a.title)){var l=h.lastIndexOf(",");0<l&&(l=this.ui.extractGraphModelFromPng(h.substring(l+
-1)),null!=l&&0<l.length&&(h=l))}var g=new DriveFile(this.ui,h,a,b);!e&&"850530949725"!=this.appId&&g.isEditable()&&a.mimeType!=this.mimeType?this.saveFile(g,!0,mxUtils.bind(this,function(a){g.desc=a;c(g)}),d,!0):c(g)}}),d,"image/"==a.mimeType.substring(0,6)&&"image/svg"!=a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))};
-DriveClient.prototype.saveFile=function(a,b,c,d,e,f){if(a.isEditable()){var h=(new Date).getTime();e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;f=null!=f?f:!1;var l=mxUtils.bind(this,function(e,k,l){var g={mimeType:a.constructor==DriveLibrary?this.libraryMimeType:this.mimeType,title:a.getTitle()};l||(null!=e||f||(e=this.placeholderThumbnail,k=this.placeholderMimeType),null!=e&&null!=k&&(g.thumbnail={image:e,mimeType:k}));var m=function(){a.saveDelay=(new Date).getTime()-h;
-c.apply(this,arguments)},n=mxUtils.bind(this,function(c,e){this.executeRequest(this.createUploadRequest(a.getId(),g,c,b||a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,e),m,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){n(a,!0)}),d,this.ui.getCurrentFile()!=a?a.getData():null):n(a.getData(),!1)}),m=mxUtils.bind(this,function(){!f&&a.constructor!=DriveLibrary&&this.enableThumbnails&&"0"!=urlParams.thumb&&(null==
+DriveClient.prototype.loadRealtime=function(a,b,c){if("1"==urlParams.ignoremime||"420247213240"!=this.appId||"application/vnd.jgraph.mxfile.realtime"!=a.mimeType&&"application/mxr"!=a.mimeType)if("850530949725"!=this.appId&&(a.editable||"application/mxe"!=a.mimeType&&"application/vnd.jgraph.mxfile"!=a.mimeType)){var d=mxUtils.bind(this,function(){var e=!0,g=window.setTimeout(mxUtils.bind(this,function(){e=!1;c({code:App.ERROR_TIMEOUT,retry:d})}),this.ui.timeout);gapi.drive.realtime.load(a.id,mxUtils.bind(this,
+function(a){window.clearTimeout(g);e&&b(a)}))});d()}else b();else this.redirectToNewApp(c,a.id)};
+DriveClient.prototype.getXmlFile=function(a,b,c,d,e,g){var h=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"&access_token="+h,mxUtils.bind(this,function(h){if(null==h)d({message:mxResources.get("invalidOrMissingFile")});else if(a.mimeType==this.libraryMimeType||g)a.mimeType!=this.libraryMimeType||g?c(new DriveLibrary(this.ui,h,a)):d({message:mxResources.get("notADiagramFile")});else{if(/\.png$/i.test(a.title)){var l=h.lastIndexOf(",");0<l&&(l=this.ui.extractGraphModelFromPng(h.substring(l+
+1)),null!=l&&0<l.length&&(h=l))}var f=new DriveFile(this.ui,h,a,b);!e&&"850530949725"!=this.appId&&f.isEditable()&&a.mimeType!=this.mimeType?this.saveFile(f,!0,mxUtils.bind(this,function(a){f.desc=a;c(f)}),d,!0):c(f)}}),d,"image/"==a.mimeType.substring(0,6)&&"image/svg"!=a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))};
+DriveClient.prototype.saveFile=function(a,b,c,d,e,g){if(a.isEditable()){var h=(new Date).getTime();e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;g=null!=g?g:!1;var l=mxUtils.bind(this,function(e,k,l){var f={mimeType:a.constructor==DriveLibrary?this.libraryMimeType:this.mimeType,title:a.getTitle()};l||(null!=e||g||(e=this.placeholderThumbnail,k=this.placeholderMimeType),null!=e&&null!=k&&(f.thumbnail={image:e,mimeType:k}));var m=function(){a.saveDelay=(new Date).getTime()-h;
+c.apply(this,arguments)},n=mxUtils.bind(this,function(c,e){this.executeRequest(this.createUploadRequest(a.getId(),f,c,b||a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,e),m,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){n(a,!0)}),d,this.ui.getCurrentFile()!=a?a.getData():null):n(a.getData(),!1)}),m=mxUtils.bind(this,function(){!g&&a.constructor!=DriveLibrary&&this.enableThumbnails&&"0"!=urlParams.thumb&&(null==
 a.realtime||a.realtime.connected)&&this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){var b=null;if(null!=a)try{b=a.toDataURL("image/png")}catch(n){}b=null==b||b.length>this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");l(b,"image/png")}))||l(null,null,a.constructor!=DriveLibrary&&(null==a.realtime||a.realtime.connected))});e||!b?m():this.verifyMimeType(a.getId(),m,!0)}else this.ui.editor.graph.reset(),null!=d&&d({message:mxResources.get("readOnly")})};
 DriveClient.prototype.verifyMimeType=function(a,b,c,d){null==this.lastMimeCheck&&(this.lastMimeCheck=0);var e=(new Date).getTime();if(c||e-this.lastMimeCheck>this.mimeTypeCheckCoolOff)this.lastMimeCheck=e,this.checkingMimeType||(this.checkingMimeType=!0,this.executeRequest(gapi.client.drive.files.get({fileId:a,fields:"mimeType",supportsTeamDrives:!0}),mxUtils.bind(this,function(c){this.checkingMimeType=!1;null!=c&&"application/vnd.jgraph.mxfile.realtime"==c.mimeType?this.redirectToNewApp(d,a):null!=
 b&&b()})))};
 DriveClient.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var c=window.location.protocol+"//"+this.newAppHostname+"/"+this.ui.getSearch("create title mode url drive splash".split(" "))+"#G"+b;null!=a?this.ui.confirm(mxResources.get("redirectToNewApp"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=c}),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;null!=a&&a()})):this.ui.alert(mxResources.get("redirectToNewApp"),
 mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=c}))}};
-DriveClient.prototype.insertFile=function(a,b,c,d,e,f,h,l){f=null!=f?f:this.mimeType;l=null!=l?l:!0;a={mimeType:f,title:a};null!=c&&(a.parents=[{kind:"drive#fileLink",id:c}]);this.executeRequest(this.createUploadRequest(null,a,b,!1,h),mxUtils.bind(this,function(a){f==this.libraryMimeType?d(new DriveLibrary(this.ui,b,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):l?this.loadRealtime(a,mxUtils.bind(this,function(c){null!=this.user?(c=new DriveFile(this.ui,b,a,c),c.lastAutosaveRevision=
+DriveClient.prototype.insertFile=function(a,b,c,d,e,g,h,l){g=null!=g?g:this.mimeType;l=null!=l?l:!0;a={mimeType:g,title:a};null!=c&&(a.parents=[{kind:"drive#fileLink",id:c}]);this.executeRequest(this.createUploadRequest(null,a,b,!1,h),mxUtils.bind(this,function(a){g==this.libraryMimeType?d(new DriveLibrary(this.ui,b,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):l?this.loadRealtime(a,mxUtils.bind(this,function(c){null!=this.user?(c=new DriveFile(this.ui,b,a,c),c.lastAutosaveRevision=
 (new Date).getTime(),d(c)):null!=e&&e({message:mxResources.get("loggedOut")})}),e):d(a)}),e)};
 DriveClient.prototype.createUploadRequest=function(a,b,c,d,e){e=null!=e?e:!1;a={path:"/upload/drive/v2/files"+(null!=a?"/"+a:""),method:null!=a?"PUT":"POST",params:{uploadType:"multipart"},headers:{"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'},body:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(b)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+(null!=
 c?e?c:Base64.encode(c):"")+"\r\n---------314159265358979323846--"};d||(a.params.newRevision=!1);a.params.supportsTeamDrives=!0;return gapi.client.request(a)};
 DriveClient.prototype.pickFile=function(a,b){this.filePickerCallback=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("G"+a)});this.filePicked=mxUtils.bind(this,function(a){a.action==google.picker.Action.PICKED&&this.filePickerCallback(a.docs[0].id)});this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,d=b?"genericPicker":"filePicker",e=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"==
-mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",e),this[d].setVisible(!1))});if(null==this[d]||this[d+"Token"]!=a){this[d+"Token"]=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0),f=(new google.picker.DocsView).setIncludeFolders(!0),h=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0),l=(new google.picker.DocsUploadView).setIncludeFolders(!0);b?(a.setMimeTypes("*/*"),f.setMimeTypes("*/*"),h.setMimeTypes("*/*")):
-(a.setMimeTypes(this.mimeTypes),f.setMimeTypes(this.mimeTypes),h.setMimeTypes(this.mimeTypes));this[d]=(new google.picker.PickerBuilder).setOAuthToken(this[d+"Token"]).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(a).addView(f).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(l).setCallback(mxUtils.bind(this,function(a){a.action!=google.picker.Action.PICKED&&a.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document,
+mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",e),this[d].setVisible(!1))});if(null==this[d]||this[d+"Token"]!=a){this[d+"Token"]=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0),g=(new google.picker.DocsView).setIncludeFolders(!0),h=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0),l=(new google.picker.DocsUploadView).setIncludeFolders(!0);b?(a.setMimeTypes("*/*"),g.setMimeTypes("*/*"),h.setMimeTypes("*/*")):
+(a.setMimeTypes(this.mimeTypes),g.setMimeTypes(this.mimeTypes),h.setMimeTypes(this.mimeTypes));this[d]=(new google.picker.PickerBuilder).setOAuthToken(this[d+"Token"]).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(a).addView(g).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(l).setCallback(mxUtils.bind(this,function(a){a.action!=google.picker.Action.PICKED&&a.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document,
 "click",e);a.action==google.picker.Action.PICKED&&this.filePicked(a)})).build()}mxEvent.addListener(document,"click",e);this[d].setVisible(!0)}))};
 DriveClient.prototype.pickFolder=function(a){this.folderPickerCallback=a;this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&mxUtils.bind(this,function(){this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,c=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"==mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",c),this.folderPicker.setVisible(!1))});if(null==this.folderPicker||this.folderPickerToken!=
 a){this.folderPickerToken=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder"),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder"),e=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder");this.folderPicker=
@@ -7605,122 +7669,122 @@ a){this.folderPickerToken=a;var a=(new google.picker.DocsView(google.picker.View
 "click",c);a.action==google.picker.Action.CANCEL?this.ui.confirm(mxResources.get("useRootFolder"),mxUtils.bind(this,function(){this.folderPickerCallback(a)}),mxUtils.bind(this,function(){this.folderPickerCallback({action:google.picker.Action.PICKED,docs:[{type:"folder",id:"root"}]})}),mxResources.get("cancel"),mxResources.get("ok")):this.folderPickerCallback(a)})).build()}mxEvent.addListener(document,"click",c);this.folderPicker.setVisible(!0)}))})()};
 DriveClient.prototype.pickLibrary=function(a){this.filePickerCallback=a;this.filePicked=mxUtils.bind(this,function(a){a.action==google.picker.Action.PICKED?this.filePickerCallback(a.docs[0].id):a.action==google.picker.Action.CANCEL&&null==this.ui.getCurrentFile()&&this.ui.showSplash()});this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=mxUtils.bind(this,function(b){"picker modal-dialog-bg picker-dialog-bg"==mxEvent.getSource(b).className&&
 (mxEvent.removeListener(document,"click",a),this.libraryPicker.setVisible(!1))}),c=gapi.auth.getToken().access_token;if(null==this.libraryPicker||this.libraryPickerToken!=c){this.libraryPickerToken=c;var c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),d=(new google.picker.DocsView).setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),
-e=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),f=(new google.picker.DocsUploadView).setIncludeFolders(!0);this.libraryPicker=(new google.picker.PickerBuilder).setOAuthToken(this.libraryPickerToken).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(e).addView(google.picker.ViewId.RECENTLY_PICKED).addView(f).setCallback(mxUtils.bind(this,
+e=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),g=(new google.picker.DocsUploadView).setIncludeFolders(!0);this.libraryPicker=(new google.picker.PickerBuilder).setOAuthToken(this.libraryPickerToken).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(e).addView(google.picker.ViewId.RECENTLY_PICKED).addView(g).setCallback(mxUtils.bind(this,
 function(b){b.action!=google.picker.Action.PICKED&&b.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document,"click",a);b.action==google.picker.Action.PICKED&&this.filePicked(b)})).build()}mxEvent.addListener(document,"click",a);this.libraryPicker.setVisible(!0)}))};DriveClient.prototype.showPermissions=function(a){this.checkToken(mxUtils.bind(this,function(){var b=new gapi.drive.share.ShareClient(this.appId);b.setOAuthToken(gapi.auth.getToken().access_token);b.setItemIds([a]);b.showSettingsDialog()}))};DropboxFile=function(a,b,c){DrawioFile.call(this,a,b);this.stat=c};mxUtils.extend(DropboxFile,DrawioFile);DropboxFile.prototype.getHash=function(){return"D"+encodeURIComponent(this.stat.path_display.substring(1))};DropboxFile.prototype.getMode=function(){return App.MODE_DROPBOX};DropboxFile.prototype.isAutosaveOptional=function(){return!0};DropboxFile.prototype.getTitle=function(){return this.stat.name};DropboxFile.prototype.isRenamable=function(){return!0};
 DropboxFile.prototype.save=function(a,b,c){this.doSave(this.getTitle(),b,c)};DropboxFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};DropboxFile.prototype.doSave=function(a,b,c){var d=this.stat.name;this.stat.name=a;DrawioFile.prototype.save.apply(this,arguments);this.stat.name=d;this.saveFile(a,!1,b,c)};
 DropboxFile.prototype.saveFile=function(a,b,c,d){this.isEditable()?this.savingFile?null!=d&&d({code:App.ERROR_BUSY}):(b=mxUtils.bind(this,function(b){if(b){this.savingFile=!0;var e=this.isModified,h=this.isModified(),l=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return h}});l();var m=mxUtils.bind(this,function(b){var f=this.stat.path_display.lastIndexOf("/"),f=1<f?this.stat.path_display.substring(1,f+1):null;this.ui.dropbox.saveFile(a,b,mxUtils.bind(this,function(a){this.savingFile=
 !1;this.isModified=e;this.stat=a;this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(h||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){l();b()}}d(a)}}),f)});this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(this.ui.base64ToBlob(a,"image/png"))}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(this.getData())}else null!=
 d&&d()}),this.getTitle()==a?b(!0):this.ui.dropbox.checkExists(a,b)):null!=c&&c()};DropboxFile.prototype.rename=function(a,b,c){this.ui.dropbox.renameFile(this,a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.stat=d,this.descriptorChanged(),null!=b&&b()):(this.stat=d,this.descriptorChanged(),this.save(!0,b,c))}),c)};DropboxLibrary=function(a,b,c){DropboxFile.call(this,a,b,c)};mxUtils.extend(DropboxLibrary,DropboxFile);DropboxLibrary.prototype.isAutosave=function(){return!0};DropboxLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};DropboxLibrary.prototype.open=function(){};DropboxClient=function(a){DrawioClient.call(this,a,"dbauth");this.client=new Dropbox({clientId:App.DROPBOX_APPKEY});this.client.setAccessToken(this.token)};mxUtils.extend(DropboxClient,DrawioClient);DropboxClient.prototype.appPath="/drawio/";DropboxClient.prototype.extension=".html";DropboxClient.prototype.writingFile=!1;DropboxClient.prototype.maxRetries=4;
 DropboxClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null;this.client.authTokenRevoke().then(mxUtils.bind(this,function(){this.client.setAccessToken(null)}))};
-DropboxClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout),f=this.client.usersGetCurrentAccount();f.then(mxUtils.bind(this,function(b){window.clearTimeout(e);d&&(this.setUser(new DrawioUser(b.account_id,b.email,b.name.display_name)),a())}));f["catch"](mxUtils.bind(this,function(f){window.clearTimeout(e);d&&(null==f||401!==f.status||c?b({message:mxResources.get("accessDenied")}):(this.setUser(null),
+DropboxClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout),g=this.client.usersGetCurrentAccount();g.then(mxUtils.bind(this,function(b){window.clearTimeout(e);d&&(this.setUser(new DrawioUser(b.account_id,b.email,b.name.display_name)),a())}));g["catch"](mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(null==g||401!==g.status||c?b({message:mxResources.get("accessDenied")}):(this.setUser(null),
 this.client.setAccessToken(null),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)))}))};
-DropboxClient.prototype.authenticate=function(a,b){if(null==window.onDropboxCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,f){null!=window.open(this.client.getAuthenticationUrl("https://"+window.location.host+"/dropbox.html"),"dbauth")?window.onDropboxCallback=mxUtils.bind(this,function(h,l){if(d){window.onDropboxCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=f&&f(),this.client.setAccessToken(h),
+DropboxClient.prototype.authenticate=function(a,b){if(null==window.onDropboxCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open(this.client.getAuthenticationUrl("https://"+window.location.host+"/dropbox.html"),"dbauth")?window.onDropboxCallback=mxUtils.bind(this,function(h,l){if(d){window.onDropboxCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.client.setAccessToken(h),
 this.setUser(null),e&&this.setPersistentToken(h),a())}catch(m){b(m)}finally{null!=l&&l.close()}}else null!=l&&l.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onDropboxCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})};
-DropboxClient.prototype.executePromise=function(a,b,c){var d=mxUtils.bind(this,function(f){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);a.then(mxUtils.bind(this,function(a){window.clearTimeout(l);h&&null!=b&&b(a)}));a["catch"](mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.setUser(null),this.client.setAccessToken(null),
-f?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c)))}))}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null===this.client.getAccessToken()?this.authenticate(function(){e(!0)},c):e(!1)};DropboxClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!0)};
-DropboxClient.prototype.getFile=function(a,b,c,d){d=null!=d?d:!1;var e=/\.png$/i.test(a);if(/^https:\/\//i.test(a)||/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&e){var f=mxUtils.bind(this,function(){var d=a.split("/");this.ui.convertFile(a,0<d.length?d[d.length-1]:a,null,this.extension,b,c)});null!=this.token?f():this.authenticate(f,c)}else f={path:"/"+a},null!=urlParams.rev&&(f.rev=urlParams.rev),this.readFile(f,mxUtils.bind(this,function(c,f){var h=e?c.lastIndexOf(","):
--1,g=null;0<h&&(h=this.ui.extractGraphModelFromPng(c.substring(h+1)),null!=h&&0<h.length?c=h:g=new LocalFile(this,c,a,!0));b(null!=g?g:d?new DropboxLibrary(this.ui,c,f):new DropboxFile(this.ui,c,f))}),c,e)};
-DropboxClient.prototype.readFile=function(a,b,c,d){var e=mxUtils.bind(this,function(h){var l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),g=this.client.filesGetMetadata({path:"/"+a.path.substring(1),include_deleted:!1});g.then(mxUtils.bind(this,function(a){}));g["catch"](function(a){window.clearTimeout(m);l&&null!=a&&409==a.status&&(l=!1,c({message:mxResources.get("fileNotFound")}))});g=this.client.filesDownload(a);g.then(mxUtils.bind(this,
-function(a){window.clearTimeout(m);if(l){l=!1;try{var e=new FileReader;e.onload=mxUtils.bind(this,function(c){b(e.result,a)});d?e.readAsDataURL(a.fileBlob):e.readAsText(a.fileBlob)}catch(q){c(q)}}}));g["catch"](mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(l=!1,null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.client.setAccessToken(null),this.setUser(null),h?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){f(!0)},
-c)})}):this.authenticate(function(){e(!0)},c)))}))}),f=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){f(!0)},c,a):e(a)});null===this.client.getAccessToken()?this.authenticate(function(){f(!0)},c):f(!1)};
+DropboxClient.prototype.executePromise=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);a.then(mxUtils.bind(this,function(a){window.clearTimeout(l);h&&null!=b&&b(a)}));a["catch"](mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.setUser(null),this.client.setAccessToken(null),
+g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c)))}))}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null===this.client.getAccessToken()?this.authenticate(function(){e(!0)},c):e(!1)};DropboxClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!0)};
+DropboxClient.prototype.getFile=function(a,b,c,d){d=null!=d?d:!1;var e=/\.png$/i.test(a);if(/^https:\/\//i.test(a)||/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&e){var g=mxUtils.bind(this,function(){var d=a.split("/");this.ui.convertFile(a,0<d.length?d[d.length-1]:a,null,this.extension,b,c)});null!=this.token?g():this.authenticate(g,c)}else g={path:"/"+a},null!=urlParams.rev&&(g.rev=urlParams.rev),this.readFile(g,mxUtils.bind(this,function(c,g){var h=e?c.lastIndexOf(","):
+-1,f=null;0<h&&(h=this.ui.extractGraphModelFromPng(c.substring(h+1)),null!=h&&0<h.length?c=h:f=new LocalFile(this,c,a,!0));b(null!=f?f:d?new DropboxLibrary(this.ui,c,g):new DropboxFile(this.ui,c,g))}),c,e)};
+DropboxClient.prototype.readFile=function(a,b,c,d){var e=mxUtils.bind(this,function(h){var l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),f=this.client.filesGetMetadata({path:"/"+a.path.substring(1),include_deleted:!1});f.then(mxUtils.bind(this,function(a){}));f["catch"](function(a){window.clearTimeout(m);l&&null!=a&&409==a.status&&(l=!1,c({message:mxResources.get("fileNotFound")}))});f=this.client.filesDownload(a);f.then(mxUtils.bind(this,
+function(a){window.clearTimeout(m);if(l){l=!1;try{var e=new FileReader;e.onload=mxUtils.bind(this,function(c){b(e.result,a)});d?e.readAsDataURL(a.fileBlob):e.readAsText(a.fileBlob)}catch(q){c(q)}}}));f["catch"](mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(l=!1,null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.client.setAccessToken(null),this.setUser(null),h?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){g(!0)},
+c)})}):this.authenticate(function(){e(!0)},c)))}))}),g=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){g(!0)},c,a):e(a)});null===this.client.getAccessToken()?this.authenticate(function(){g(!0)},c):g(!1)};
 DropboxClient.prototype.checkExists=function(a,b,c){var d=this.client.filesGetMetadata({path:"/"+a.toLowerCase(),include_deleted:!1});this.executePromise(d,mxUtils.bind(this,function(d){c?b(!1,!0,d):this.ui.confirm(mxResources.get("replaceIt",[a]),function(){b(!0,!0,d)},function(){b(!1,!0,d)})}),function(a){b(!0,!1)})};
-DropboxClient.prototype.renameFile=function(a,b,c,d){if(/[\\\/:\?\*"\|]/.test(b))d({message:mxResources.get("dropboxCharsNotAllowed")});else{if(null!=a&&null!=b){var e=a.stat.path_display.substring(1),f=e.lastIndexOf("/");0<f&&(b=e.substring(0,f+1)+b)}null!=a&&null!=b&&a.stat.path_lower.substring(1)!==b.toLowerCase()?this.checkExists(b,mxUtils.bind(this,function(e,f,m){e?(e=mxUtils.bind(this,function(e){e=this.client.filesMove({from_path:a.stat.path_display,to_path:"/"+b,autorename:!1});this.executePromise(e,
-c,d)}),f&&m.path_lower.substring(1)!==b.toLowerCase()?(f=this.client.filesDelete({path:"/"+b.toLowerCase()}),this.executePromise(f,e,d)):e()):d()})):d({message:mxResources.get("invalidName")})}};DropboxClient.prototype.insertLibrary=function(a,b,c,d){this.insertFile(a,b,c,d,!0)};
-DropboxClient.prototype.insertFile=function(a,b,c,d,e){e=null!=e?e:!1;this.checkExists(a,mxUtils.bind(this,function(f){f?this.saveFile(a,b,mxUtils.bind(this,function(a){e?c(new DropboxLibrary(this.ui,b,a)):c(new DropboxFile(this.ui,b,a))}),d):d()}))};
+DropboxClient.prototype.renameFile=function(a,b,c,d){if(/[\\\/:\?\*"\|]/.test(b))d({message:mxResources.get("dropboxCharsNotAllowed")});else{if(null!=a&&null!=b){var e=a.stat.path_display.substring(1),g=e.lastIndexOf("/");0<g&&(b=e.substring(0,g+1)+b)}null!=a&&null!=b&&a.stat.path_lower.substring(1)!==b.toLowerCase()?this.checkExists(b,mxUtils.bind(this,function(e,g,m){e?(e=mxUtils.bind(this,function(e){e=this.client.filesMove({from_path:a.stat.path_display,to_path:"/"+b,autorename:!1});this.executePromise(e,
+c,d)}),g&&m.path_lower.substring(1)!==b.toLowerCase()?(g=this.client.filesDelete({path:"/"+b.toLowerCase()}),this.executePromise(g,e,d)):e()):d()})):d({message:mxResources.get("invalidName")})}};DropboxClient.prototype.insertLibrary=function(a,b,c,d){this.insertFile(a,b,c,d,!0)};
+DropboxClient.prototype.insertFile=function(a,b,c,d,e){e=null!=e?e:!1;this.checkExists(a,mxUtils.bind(this,function(g){g?this.saveFile(a,b,mxUtils.bind(this,function(a){e?c(new DropboxLibrary(this.ui,b,a)):c(new DropboxFile(this.ui,b,a))}),d):d()}))};
 DropboxClient.prototype.saveFile=function(a,b,c,d,e){/[\\\/:\?\*"\|]/.test(a)?d({message:mxResources.get("dropboxCharsNotAllowed")}):15E7<=b.length?d({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 150 MB)"}):(a=this.client.filesUpload({path:"/"+(null!=e?e:"")+a,mode:{".tag":"overwrite"},mute:!0,contents:new Blob([b],{type:"text/plain"})}),this.executePromise(a,c,d))};
 DropboxClient.prototype.pickLibrary=function(a){Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(b){if(this.ui.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),d=b[0].link.indexOf(this.appPath);if(0<d){var e=decodeURIComponent(b[0].link.substring(d+this.appPath.length-1));this.readFile({path:e},mxUtils.bind(this,function(d,h){if(null!=h&&h.id==b[0].id)try{this.ui.spinner.stop(),
 a(e.substring(1),new DropboxLibrary(this.ui,d,h))}catch(l){this.ui.handleError(l)}else this.createLibrary(b[0],a,c)}),c)}else this.createLibrary(b[0],a,c)}})})};
-DropboxClient.prototype.createLibrary=function(a,b,c){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){this.ui.loadUrl(a.link,mxUtils.bind(this,function(d){this.insertFile(a.name,d,mxUtils.bind(this,function(a){try{this.ui.spinner.stop(),b(a.getHash().substring(1),a)}catch(f){c(f)}}),c,!0)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))};
+DropboxClient.prototype.createLibrary=function(a,b,c){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){this.ui.loadUrl(a.link,mxUtils.bind(this,function(d){this.insertFile(a.name,d,mxUtils.bind(this,function(a){try{this.ui.spinner.stop(),b(a.getHash().substring(1),a)}catch(g){c(g)}}),c,!0)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))};
 DropboxClient.prototype.pickFile=function(a,b){null!=Dropbox.choose?(a=null!=a?a:mxUtils.bind(this,function(a,b){this.ui.loadFile(null!=a?"D"+encodeURIComponent(a):b.getHash(),null,b)}),Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(c){if(this.ui.spinner.spin(document.body,mxResources.get("loading")))if(b)this.ui.spinner.stop(),a(c[0].link);else{var d=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),e=mxUtils.bind(this,
-function(b,c){this.ui.spinner.stop();a(b,c)}),f=/\.png$/i.test(c[0].name);if(/\.vsdx$/i.test(c[0].name)||/\.gliffy$/i.test(c[0].name)||!this.ui.useCanvasForExport&&f)e(c[0].link);else{var h=c[0].link.indexOf(this.appPath);if(0<h){var l=decodeURIComponent(c[0].link.substring(h+this.appPath.length-1));this.readFile({path:l},mxUtils.bind(this,function(b,g){if(null!=g&&g.id==c[0].id){var h=f?b.lastIndexOf(","):-1;this.ui.spinner.stop();var m=null;0<h&&(h=this.ui.extractGraphModelFromPng(b.substring(h+
-1)),null!=h&&0<h.length?b=h:m=new LocalFile(this,b,l,!0));a(l.substring(1),null!=m?m:new DropboxFile(this.ui,b,g))}else this.createFile(c[0],e,d)}),d,f)}else this.createFile(c[0],e,d)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
-DropboxClient.prototype.createFile=function(a,b,c){var d=/(\.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 f=d?e.lastIndexOf(","):-1;0<f&&(f=this.ui.extractGraphModelFromPng(e.substring(f+1)),null!=f&&0<f.length&&(e=f));this.insertFile(a.name,e,mxUtils.bind(this,function(c){b(a.name,c)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()})):
+function(b,c){this.ui.spinner.stop();a(b,c)}),g=/\.png$/i.test(c[0].name);if(/\.vsdx$/i.test(c[0].name)||/\.gliffy$/i.test(c[0].name)||!this.ui.useCanvasForExport&&g)e(c[0].link);else{var h=c[0].link.indexOf(this.appPath);if(0<h){var l=decodeURIComponent(c[0].link.substring(h+this.appPath.length-1));this.readFile({path:l},mxUtils.bind(this,function(b,f){if(null!=f&&f.id==c[0].id){var h=g?b.lastIndexOf(","):-1;this.ui.spinner.stop();var m=null;0<h&&(h=this.ui.extractGraphModelFromPng(b.substring(h+
+1)),null!=h&&0<h.length?b=h:m=new LocalFile(this,b,l,!0));a(l.substring(1),null!=m?m:new DropboxFile(this.ui,b,f))}else this.createFile(c[0],e,d)}),d,g)}else this.createFile(c[0],e,d)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
+DropboxClient.prototype.createFile=function(a,b,c){var d=/(\.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=d?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)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()})):
 (this.ui.spinner.stop(),c({message:mxResources.get("errorLoadingFile")}))}),c,d)};OneDriveFile=function(a,b,c){DrawioFile.call(this,a,b);this.meta=c};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,c){this.doSave(this.getTitle(),b,c)};OneDriveFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};OneDriveFile.prototype.doSave=function(a,b,c){var d=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=d;this.saveFile(a,!1,b,c)};
-OneDriveFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&d({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,f=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return f}});h();this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.meta=a;this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=
-!1;this.isModified=e;this.setModified(f||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.oneDrive.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=d&&d()}));else null!=c&&c()};
+OneDriveFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&d({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});h();this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.meta=a;this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=
+!1;this.isModified=e;this.setModified(g||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.oneDrive.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=d&&d()}));else null!=c&&c()};
 OneDriveFile.prototype.rename=function(a,b,c){this.ui.oneDrive.renameFile(this,a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.meta=d,this.descriptorChanged(),null!=b&&b()):(this.meta=d,this.save(!0,b,c))}),c)};OneDriveFile.prototype.move=function(a,b,c){this.ui.oneDrive.moveFile(this.meta.id,a,mxUtils.bind(this,function(a){this.meta=a;this.descriptorChanged();null!=b&&b(a)}),c)};OneDriveLibrary=function(a,b,c){OneDriveFile.call(this,a,b,c)};mxUtils.extend(OneDriveLibrary,OneDriveFile);OneDriveLibrary.prototype.isAutosave=function(){return!0};OneDriveLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};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,c){a=new mxXmlRequest(a,null,"GET");a.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Authorization","Bearer "+this.token)});a.send(b,c);return a};
-OneDriveClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.get(this.baseUrl+"/me",mxUtils.bind(this,function(f){window.clearTimeout(e);d&&(200>f.getStatus()||300<=f.getStatus()?c?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):(f=JSON.parse(f.getText()),this.setUser(new DrawioUser(f.id,null,f.displayName)),
+OneDriveClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.get(this.baseUrl+"/me",mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(200>g.getStatus()||300<=g.getStatus()?c?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)};
-OneDriveClient.prototype.authenticate=function(a,b){if(null==window.onOneDriveCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,f){var h="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id="+this.clientId+"&response_type=token&redirect_uri="+encodeURIComponent(this.redirectUri)+"&scope="+encodeURIComponent(this.scopes)+"&response_mode=fragment",h=window.open(h,"odauth",["width=525,height=525","top="+(window.screenY+
-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!=h&&(window.onOneDriveCallback=mxUtils.bind(this,function(h,m){if(d){window.onOneDriveCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=f&&f(),this.setUser(null),this.token=h,e&&this.setPersistentToken(h),a())}catch(g){b(g)}finally{null!=m&&m.close()}}else null!=m&&m.close()}),h.focus())}),
+OneDriveClient.prototype.authenticate=function(a,b){if(null==window.onOneDriveCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){var h="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id="+this.clientId+"&response_type=token&redirect_uri="+encodeURIComponent(this.redirectUri)+"&scope="+encodeURIComponent(this.scopes)+"&response_mode=fragment",h=window.open(h,"odauth",["width=525,height=525","top="+(window.screenY+
+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!=h&&(window.onOneDriveCallback=mxUtils.bind(this,function(h,m){if(d){window.onOneDriveCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.setUser(null),this.token=h,e&&this.setPersistentToken(h),a())}catch(f){b(f)}finally{null!=m&&m.close()}}else null!=m&&m.close()}),h.focus())}),
 mxUtils.bind(this,function(){d&&(window.onOneDriveCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})};
-OneDriveClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(f){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);this.get(a,mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(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,f?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,
+OneDriveClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);this.get(a,mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(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?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,
 function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c)):c(this.parseRequestText(a)))}),c)}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null==this.token?this.authenticate(function(){e(!0)},c):e(!1)};OneDriveClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!1,!0)};
-OneDriveClient.prototype.getFile=function(a,b,c,d,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 d=JSON.parse(a.getText()),f=/\.png$/i.test(d.name);if(/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&f)this.ui.convertFile(d["@microsoft.graph.downloadUrl"],d.name,null!=d.file?d.file.mimeType:null,this.extension,b,c);else{var m=!0,g=window.setTimeout(mxUtils.bind(this,
-function(){m=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(d["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(g);if(m){var c=f?a.lastIndexOf(","):-1,h=null;0<c&&(c=this.ui.extractGraphModelFromPng(a.substring(c+1)),null!=c&&0<c.length?a=c:h=new LocalFile(this.ui,a,d.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}),mxUtils.bind(this,function(a){window.clearTimeout(g);m&&c(this.parseRequestText(a))}),
-f||null!=d.file&&null!=d.file.mimeType&&"image/"==d.file.mimeType.substring(0,6))}}else c(this.parseRequestText(a))}),c)};OneDriveClient.prototype.renameFile=function(a,b,c,d){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",c,d):d()}))};
+OneDriveClient.prototype.getFile=function(a,b,c,d,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 d=JSON.parse(a.getText()),g=/\.png$/i.test(d.name);if(/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(d["@microsoft.graph.downloadUrl"],d.name,null!=d.file?d.file.mimeType:null,this.extension,b,c);else{var m=!0,f=window.setTimeout(mxUtils.bind(this,
+function(){m=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(d["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(f);if(m){var c=g?a.lastIndexOf(","):-1,h=null;0<c&&(c=this.ui.extractGraphModelFromPng(a.substring(c+1)),null!=c&&0<c.length?a=c:h=new LocalFile(this.ui,a,d.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}),mxUtils.bind(this,function(a){window.clearTimeout(f);m&&c(this.parseRequestText(a))}),
+g||null!=d.file&&null!=d.file.mimeType&&"image/"==d.file.mimeType.substring(0,6))}}else c(this.parseRequestText(a))}),c)};OneDriveClient.prototype.renameFile=function(a,b,c,d){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",c,d):d()}))};
 OneDriveClient.prototype.moveFile=function(a,b,c,d){this.writeFile(this.baseUrl+"/me/drive/items/"+a,JSON.stringify({parentReference:{id:b}}),"PATCH","application/json",c,d)};OneDriveClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)};
-OneDriveClient.prototype.insertFile=function(a,b,c,d,e,f){e=null!=e?e:!1;this.checkExists(f,a,!0,mxUtils.bind(this,function(h){h?this.writeFile(this.baseUrl+(null!=f?"/me/drive/items/"+f:"/me/drive/root")+"/children/"+a+"/content",b,"PUT",null,mxUtils.bind(this,function(a){e?c(new OneDriveLibrary(this.ui,b,a)):c(new OneDriveFile(this.ui,b,a))}),d):d()}))};
+OneDriveClient.prototype.insertFile=function(a,b,c,d,e,g){e=null!=e?e:!1;this.checkExists(g,a,!0,mxUtils.bind(this,function(h){h?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?c(new OneDriveLibrary(this.ui,b,a)):c(new OneDriveFile(this.ui,b,a))}),d):d()}))};
 OneDriveClient.prototype.checkExists=function(a,b,c,d){this.executeRequest(this.baseUrl+(null!=a?"/me/drive/items/"+a:"/me/drive/root")+"/children/"+b,mxUtils.bind(this,function(a){404==a.getStatus()?d(!0):c?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[b]),function(){d(!0)},function(){d(!1)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){d(!1)}))}),function(a){d(!1)},!0)};
 OneDriveClient.prototype.saveFile=function(a,b,c){var d=mxUtils.bind(this,function(d){this.writeFile(this.baseUrl+"/me/drive/items/"+a.meta.id+"/content/",d,"PUT",null,b,c)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){d(this.ui.base64ToBlob(a,"image/png"))}),c,this.ui.getCurrentFile()!=a?a.getData():null):d(a.getData())};
-OneDriveClient.prototype.writeFile=function(a,b,c,d,e,f){if(null!=a&&null!=b){var h=mxUtils.bind(this,function(m){var g=!0,k=window.setTimeout(mxUtils.bind(this,function(){g=!1;f({code:App.ERROR_TIMEOUT,retry:l})}),this.ui.timeout),n=new mxXmlRequest(a,b,c);n.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Content-Type",d||" ");a.setRequestHeader("Authorization","Bearer "+this.token)});n.send(mxUtils.bind(this,function(a){window.clearTimeout(k);g&&(200<=a.getStatus()&&299>=a.getStatus()?
-e(JSON.parse(a.getText())):401===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,m?f({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){l(!0)},f)})}):this.authenticate(function(){h(!0)},f)):f(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(k);g&&f(this.parseRequestText(a))}))}),l=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){l(!0)},f,a):h(a)});null==this.token?
-this.authenticate(function(){l(!0)},f):l(!1)}else f({message:mxResources.get("unknownError")})};OneDriveClient.prototype.parseRequestText=function(a){var b={message:mxResources.get("unknownError")};try{b=JSON.parse(a.getText())}catch(c){}return b};OneDriveClient.prototype.pickLibrary=function(a){this.pickFile(function(b){a(b)})};
+OneDriveClient.prototype.writeFile=function(a,b,c,d,e,g){if(null!=a&&null!=b){var h=mxUtils.bind(this,function(m){var f=!0,k=window.setTimeout(mxUtils.bind(this,function(){f=!1;g({code:App.ERROR_TIMEOUT,retry:l})}),this.ui.timeout),n=new mxXmlRequest(a,b,c);n.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Content-Type",d||" ");a.setRequestHeader("Authorization","Bearer "+this.token)});n.send(mxUtils.bind(this,function(a){window.clearTimeout(k);f&&(200<=a.getStatus()&&299>=a.getStatus()?
+e(JSON.parse(a.getText())):401===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,m?g({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){l(!0)},g)})}):this.authenticate(function(){h(!0)},g)):g(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(k);f&&g(this.parseRequestText(a))}))}),l=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){l(!0)},g,a):h(a)});null==this.token?
+this.authenticate(function(){l(!0)},g):l(!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(c){}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,c){DrawioFile.call(this,a,b);this.meta=c};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,c){this.doSave(this.getTitle(),b,c)};GitHubFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};GitHubFile.prototype.doSave=function(a,b,c){var d=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=d;this.saveFile(a,!1,b,c)};
-GitHubFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&d({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,f=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return f}});h();this.ui.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;
-this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(f||this.isModified());this.isModified()&&this.addUnsavedStatus();if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.pickFolder(App.MODE_GITHUB,mxUtils.bind(this,function(b){this.ui.gitHub.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=
+GitHubFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&d({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});h();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;
+this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(g||this.isModified());this.isModified()&&this.addUnsavedStatus();if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.pickFolder(App.MODE_GITHUB,mxUtils.bind(this,function(b){this.ui.gitHub.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=
 !1;null!=d&&d()}),!1,b)}));else null!=c&&c()};GitHubLibrary=function(a,b,c){GitHubFile.call(this,a,b,c)};mxUtils.extend(GitHubLibrary,GitHubFile);GitHubLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};GitHubLibrary.prototype.open=function(){};GitHubClient=function(a){DrawioClient.call(this,a,"ghauth")};mxUtils.extend(GitHubClient,DrawioClient);GitHubClient.prototype.clientId="test.draw.io"==window.location.hostname?"23bc97120b9035515661":"89c9e4624ca416554489";GitHubClient.prototype.scope="repo";GitHubClient.prototype.extension=".xml";GitHubClient.prototype.baseUrl="https://api.github.com";GitHubClient.prototype.maxFileSize=1E6;
-GitHubClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);mxUtils.get(this.baseUrl+"/user?access_token="+this.token,mxUtils.bind(this,function(f){window.clearTimeout(e);d&&(401===f.getStatus()?c?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):200>f.getStatus()||300<=f.getStatus()?b({message:mxResources.get("accessDenied")}):
-(f=JSON.parse(f.getText()),this.setUser(new DrawioUser(f.id,f.email,f.name)),a()))}))};
-GitHubClient.prototype.authenticate=function(a,b){if(null==window.onGitHubCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,f){null!=window.open("https://github.com/login/oauth/authorize?client_id="+this.clientId+"&scope="+this.scope,"ghauth")?window.onGitHubCallback=mxUtils.bind(this,function(h,l){if(d)if(window.onGitHubCallback=null,d=!1,null==h)b({message:mxResources.get("accessDenied"),retry:c});else{var m=mxUtils.bind(this,function(){var c=
-!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT,retry:m})}),this.ui.timeout);mxUtils.get("/github?client_id="+this.clientId+"&code="+h,mxUtils.bind(this,function(g){window.clearTimeout(d);if(c)try{if(200>g.getStatus()||300<=g.getStatus())b({message:mxResources.get("cannotLogin")});else{null!=f&&f();var h=g.getText();this.token=h.substring(h.indexOf("=")+1,h.indexOf("&"));this.setUser(null);e&&this.setPersistentToken(this.token);a()}}catch(t){b(t)}finally{null!=l&&
+GitHubClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);mxUtils.get(this.baseUrl+"/user?access_token="+this.token,mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(401===g.getStatus()?c?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):200>g.getStatus()||300<=g.getStatus()?b({message:mxResources.get("accessDenied")}):
+(g=JSON.parse(g.getText()),this.setUser(new DrawioUser(g.id,g.email,g.name)),a()))}))};
+GitHubClient.prototype.authenticate=function(a,b){if(null==window.onGitHubCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open("https://github.com/login/oauth/authorize?client_id="+this.clientId+"&scope="+this.scope,"ghauth")?window.onGitHubCallback=mxUtils.bind(this,function(h,l){if(d)if(window.onGitHubCallback=null,d=!1,null==h)b({message:mxResources.get("accessDenied"),retry:c});else{var m=mxUtils.bind(this,function(){var c=
+!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT,retry:m})}),this.ui.timeout);mxUtils.get("/github?client_id="+this.clientId+"&code="+h,mxUtils.bind(this,function(f){window.clearTimeout(d);if(c)try{if(200>f.getStatus()||300<=f.getStatus())b({message:mxResources.get("cannotLogin")});else{null!=g&&g();var h=f.getText();this.token=h.substring(h.indexOf("=")+1,h.indexOf("&"));this.setUser(null);e&&this.setPersistentToken(this.token);a()}}catch(u){b(u)}finally{null!=l&&
 l.close()}}))});m()}else null!=l&&l.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onGitHubCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})};
-GitHubClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(f){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),m=this.token;a.setRequestHeaders=function(a,b){a.setRequestHeader("Authorization","token "+m)};a.send(mxUtils.bind(this,function(){window.clearTimeout(l);if(h)if(200<=a.getStatus()&&299>=a.getStatus())b(a);else if(401===a.getStatus())f?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,
-function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c);else if(403===a.getStatus()){var g=!1;try{var k=JSON.parse(a.getText());null!=k&&null!=k.errors&&0<k.errors.length&&(g="too_large"==k.errors[0].code)}catch(n){}c({message:mxResources.get(g?"drawingTooLarge":"forbidden")})}else 404===a.getStatus()?c({message:mxResources.get("fileNotFound")}):409===a.getStatus()?c({status:409}):c({message:mxResources.get("error")+" "+a.getStatus()})}),c)}),e=mxUtils.bind(this,
+GitHubClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),m=this.token;a.setRequestHeaders=function(a,b){a.setRequestHeader("Authorization","token "+m)};a.send(mxUtils.bind(this,function(){window.clearTimeout(l);if(h)if(200<=a.getStatus()&&299>=a.getStatus())b(a);else if(401===a.getStatus())g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,
+function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c);else if(403===a.getStatus()){var f=!1;try{var k=JSON.parse(a.getText());null!=k&&null!=k.errors&&0<k.errors.length&&(f="too_large"==k.errors[0].code)}catch(n){}c({message:mxResources.get(f?"drawingTooLarge":"forbidden")})}else 404===a.getStatus()?c({message:mxResources.get("fileNotFound")}):409===a.getStatus()?c({status:409}):c({message:mxResources.get("error")+" "+a.getStatus()})}),c)}),e=mxUtils.bind(this,
 function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null==this.token?this.authenticate(function(){e(!0)},c):e(!1)};GitHubClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!0)};
-GitHubClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;var f=a.split("/"),h=f[0],l=f[1],m=f[2];a=f.slice(3,f.length).join("/");f=/\.png$/i.test(a);!e&&(/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&f)?null!=this.token?(e=this.baseUrl+"/repos/"+h+"/"+l+"/contents/"+a+"?ref="+m+"&token="+this.token,f=a.split("/"),this.ui.convertFile(e,0<f.length?f[f.length-1]:a,null,this.extension,b,c)):c({message:mxResources.get("accessDenied")}):(a=new mxXmlRequest(this.baseUrl+
+GitHubClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;var g=a.split("/"),h=g[0],l=g[1],m=g[2];a=g.slice(3,g.length).join("/");g=/\.png$/i.test(a);!e&&(/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&g)?null!=this.token?(e=this.baseUrl+"/repos/"+h+"/"+l+"/contents/"+a+"?ref="+m+"&token="+this.token,g=a.split("/"),this.ui.convertFile(e,0<g.length?g[g.length-1]:a,null,this.extension,b,c)):c({message:mxResources.get("accessDenied")}):(a=new mxXmlRequest(this.baseUrl+
 "/repos/"+h+"/"+l+"/contents/"+a+"?ref="+m,null,"GET"),this.executeRequest(a,mxUtils.bind(this,function(a){try{b(this.createGitHubFile(h,l,m,JSON.parse(a.getText()),d))}catch(k){c(k)}}),c))};
 GitHubClient.prototype.createGitHubFile=function(a,b,c,d,e){a={org:a,repo:b,ref:c,name:d.name,path:d.path,sha:d.sha,html_url:d.html_url,download_url:d.download_url};b=d.content;"base64"===d.encoding&&(/\.jpe?g$/i.test(d.name)?b="data:image/jpeg;base64,"+b:/\.gif$/i.test(d.name)?b="data:image/gif;base64,"+b:/\.png$/i.test(d.name)?(d=this.ui.extractGraphModelFromPng(b),b=null!=d&&0<d.length?d:"data:image/png;base64,"+b):b=Base64.decode(b));return e?new GitHubLibrary(this.ui,b,a):new GitHubFile(this.ui,
 b,a)};GitHubClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e,!1)};
-GitHubClient.prototype.insertFile=function(a,b,c,d,e,f,h){e=null!=e?e:!1;f=f.split("/");var l=f[0],m=f[1],g=f[2],k=f.slice(3,f.length).join("/");0<k.length&&(k+="/");k+=a;this.checkExists(l+"/"+m+"/"+g+"/"+k,!0,mxUtils.bind(this,function(f,q){f?e?(h||(b=Base64.encode(b)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,m,g,k,a,b,q,mxUtils.bind(this,function(a){try{var b=JSON.parse(a.getText());c(this.createGitHubFile(l,m,g,b.content,e))}catch(y){d(y)}}),d)}),d)):c(new GitHubFile(this.ui,
-b,{org:l,repo:m,ref:g,name:a,path:k,sha:q,isNew:!0})):d()}))};GitHubClient.prototype.showCommitDialog=function(a,b,c,d){var e=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(b?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){e();c(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){d()}));this.ui.showDialog(a.container,300,80,!0,!1);a.init()};
-GitHubClient.prototype.writeFile=function(a,b,c,d,e,f,h,l,m){f.length>=this.maxFileSize?m({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(f.length)+" / 1 MB)"}):(c={path:d,branch:decodeURIComponent(c),message:e,content:f},null!=h&&(c.sha=h),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+b+"/contents/"+d,JSON.stringify(c),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){l(a)}),m))};
+GitHubClient.prototype.insertFile=function(a,b,c,d,e,g,h){e=null!=e?e:!1;g=g.split("/");var l=g[0],m=g[1],f=g[2],k=g.slice(3,g.length).join("/");0<k.length&&(k+="/");k+=a;this.checkExists(l+"/"+m+"/"+f+"/"+k,!0,mxUtils.bind(this,function(g,q){g?e?(h||(b=Base64.encode(b)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,m,f,k,a,b,q,mxUtils.bind(this,function(a){try{var b=JSON.parse(a.getText());c(this.createGitHubFile(l,m,f,b.content,e))}catch(w){d(w)}}),d)}),d)):c(new GitHubFile(this.ui,
+b,{org:l,repo:m,ref:f,name:a,path:k,sha:q,isNew:!0})):d()}))};GitHubClient.prototype.showCommitDialog=function(a,b,c,d){var e=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(b?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){e();c(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){d()}));this.ui.showDialog(a.container,300,80,!0,!1);a.init()};
+GitHubClient.prototype.writeFile=function(a,b,c,d,e,g,h,l,m){g.length>=this.maxFileSize?m({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(g.length)+" / 1 MB)"}):(c={path:d,branch:decodeURIComponent(c),message:e,content:g},null!=h&&(c.sha=h),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+b+"/contents/"+d,JSON.stringify(c),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){l(a)}),m))};
 GitHubClient.prototype.checkExists=function(a,b,c){this.getFile(a,mxUtils.bind(this,function(d){if(b&&null!=d.meta){var e=this.ui.spinner.pause();this.ui.confirm(mxResources.get("replaceIt",[a]),function(){e();c(!0,d.meta.sha)},function(){e();c(!1)})}else this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){c(!1)})}),mxUtils.bind(this,function(a){c(!0)}),null,!0)};
-GitHubClient.prototype.saveFile=function(a,b,c){var d=a.meta.org,e=a.meta.repo,f=a.meta.ref,h=a.meta.path;this.showCommitDialog(a.meta.name,null==a.meta.sha||a.meta.isNew,mxUtils.bind(this,function(l){var m=mxUtils.bind(this,function(g,k){this.writeFile(d,e,f,h,l,k,g,mxUtils.bind(this,function(c){delete a.meta.isNew;b(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){null!=a&&409==a.status?(resume=this.ui.spinner.pause(),a=new ErrorDialog(this.ui,mxResources.get("errorSavingFile"),mxResources.get("fileChangedOverwrite"),
-mxResources.get("cancel"),mxUtils.bind(this,function(){c()}),null,mxResources.get("overwrite"),mxUtils.bind(this,function(){resume();this.getFile(d+"/"+e+"/"+f+"/"+h,mxUtils.bind(this,function(a){m(a.meta.sha,k)}),mxUtils.bind(this,function(){m(null,k)}))})),this.ui.showDialog(a.container,340,150,!0,!1),a.init()):c(a)}))});this.ui.useCanvasForExport&&/(\.png)$/i.test(h)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){m(a.meta.sha,b)}),c,this.ui.getCurrentFile()!=a?a.getData():null):m(a.meta.sha,
+GitHubClient.prototype.saveFile=function(a,b,c){var d=a.meta.org,e=a.meta.repo,g=a.meta.ref,h=a.meta.path;this.showCommitDialog(a.meta.name,null==a.meta.sha||a.meta.isNew,mxUtils.bind(this,function(l){var m=mxUtils.bind(this,function(f,k){this.writeFile(d,e,g,h,l,k,f,mxUtils.bind(this,function(c){delete a.meta.isNew;b(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){null!=a&&409==a.status?(resume=this.ui.spinner.pause(),a=new ErrorDialog(this.ui,mxResources.get("errorSavingFile"),mxResources.get("fileChangedOverwrite"),
+mxResources.get("cancel"),mxUtils.bind(this,function(){c()}),null,mxResources.get("overwrite"),mxUtils.bind(this,function(){resume();this.getFile(d+"/"+e+"/"+g+"/"+h,mxUtils.bind(this,function(a){m(a.meta.sha,k)}),mxUtils.bind(this,function(){m(null,k)}))})),this.ui.showDialog(a.container,340,150,!0,!1),a.init()):c(a)}))});this.ui.useCanvasForExport&&/(\.png)$/i.test(h)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){m(a.meta.sha,b)}),c,this.ui.getCurrentFile()!=a?a.getData():null):m(a.meta.sha,
 Base64.encode(a.getData()))}),mxUtils.bind(this,function(){c()}))};GitHubClient.prototype.pickLibrary=function(a){this.pickFile(a)};GitHubClient.prototype.pickFolder=function(a){this.showGitHubDialog(!1,a)};GitHubClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("H"+encodeURIComponent(a))});this.showGitHubDialog(!0,a)};
-GitHubClient.prototype.showGitHubDialog=function(a,b){var c=null,d=null,e=null,f=null,h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.height="224px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";h.appendChild(l);var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="auto";m.style.height="194px";
-h.appendChild(m);var g=new CustomDialog(this.ui,h,mxUtils.bind(this,function(){b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+f)}));this.ui.showDialog(g.container,340,270,!0,!0);a&&g.okButton.parentNode.removeChild(g.okButton);var k=mxUtils.bind(this,function(a,b){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");mxUtils.write(c,a);mxEvent.addListener(c,"click",b);return c}),n=mxUtils.bind(this,function(a){var b=document.createElement("div");b.style.marginBottom="8px";b.appendChild(k(c+
-"/"+d,mxUtils.bind(this,function(){f=null;z()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){f=null;y()}))));if(null!=f&&0<f.length){var g=f.split("/");for(a=0;a<g.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(g[a],mxUtils.bind(this,function(){f=g.slice(0,a+1).join("/");t()})))})(a)}m.appendChild(b)}),q=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?
-(f=e=d=c=null,z()):this.ui.hideDialog()}))}),t=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/contents/"+f+"?ref="+encodeURIComponent(e),null,"GET");g.okButton.removeAttribute("disabled");m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(g){n();this.ui.spinner.stop();var h=JSON.parse(g.getText());m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,z();else{var a=f.split("/");
-f=a.slice(0,a.length-1).join("/");t()}})));mxUtils.br(m);null==h||0==h.length?mxUtils.write(m,mxResources.get("noFiles")):(g=mxUtils.bind(this,function(g){for(var l=0;l<h.length;l++)mxUtils.bind(this,function(h){g==("dir"==h.type)&&(m.appendChild(k(h.name+("dir"==h.type?"/":""),mxUtils.bind(this,function(){"dir"==h.type?(f=h.path,t()):a&&"file"==h.type&&(this.ui.hideDialog(),b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+h.path))}))),mxUtils.br(m))})(h[l])}),g(!0),a&&g(!1))}),q)}),p=null,v=null,y=mxUtils.bind(this,
-function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/branches?per_page=100&page="+a,null,"GET");g.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,
-"scroll",v);y(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){f=null;z()}))),mxUtils.br(m));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){m.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;f="";t()})));mxUtils.br(m)})(b[c]);100==b.length&&(m.appendChild(p),
-v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",v))}}),q)}),z=mxUtils.bind(this,function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");g.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");
+GitHubClient.prototype.showGitHubDialog=function(a,b){var c=null,d=null,e=null,g=null,h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.height="224px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";h.appendChild(l);var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="auto";m.style.height="194px";
+h.appendChild(m);var f=new CustomDialog(this.ui,h,mxUtils.bind(this,function(){b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+g)}));this.ui.showDialog(f.container,340,270,!0,!0);a&&f.okButton.parentNode.removeChild(f.okButton);var k=mxUtils.bind(this,function(a,b){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");mxUtils.write(c,a);mxEvent.addListener(c,"click",b);return c}),n=mxUtils.bind(this,function(a){var b=document.createElement("div");b.style.marginBottom="8px";b.appendChild(k(c+
+"/"+d,mxUtils.bind(this,function(){g=null;z()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){g=null;w()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");u()})))})(a)}m.appendChild(b)}),q=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?
+(g=e=d=c=null,z()):this.ui.hideDialog()}))}),u=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/contents/"+g+"?ref="+encodeURIComponent(e),null,"GET");f.okButton.removeAttribute("disabled");m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(f){n();this.ui.spinner.stop();var h=JSON.parse(f.getText());m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,z();else{var a=g.split("/");
+g=a.slice(0,a.length-1).join("/");u()}})));mxUtils.br(m);null==h||0==h.length?mxUtils.write(m,mxResources.get("noFiles")):(f=mxUtils.bind(this,function(f){for(var l=0;l<h.length;l++)mxUtils.bind(this,function(h){f==("dir"==h.type)&&(m.appendChild(k(h.name+("dir"==h.type?"/":""),mxUtils.bind(this,function(){"dir"==h.type?(g=h.path,u()):a&&"file"==h.type&&(this.ui.hideDialog(),b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+h.path))}))),mxUtils.br(m))})(h[l])}),f(!0),a&&f(!1))}),q)}),p=null,v=null,w=mxUtils.bind(this,
+function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,
+"scroll",v);w(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){g=null;z()}))),mxUtils.br(m));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){m.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;g="";u()})));mxUtils.br(m)})(b[c]);100==b.length&&(m.appendChild(p),
+v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",v))}}),q)}),z=mxUtils.bind(this,function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");
 mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",v);z(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==a&&(m.appendChild(k(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,
-function(a){if(null!=a){var b=a.split("/");if(1<b.length){a=b[0];var g=b[1];3>b.length?(c=a,d=g,f=e=null,y()):this.ui.spinner.spin(m,mxResources.get("loading"))&&(b=encodeURIComponent(b.slice(2,b.length).join("/")),this.getFile(a+"/"+g+"/"+b,mxUtils.bind(this,function(a){this.ui.spinner.stop();c=a.meta.org;d=a.meta.repo;e=decodeURIComponent(a.meta.ref);f="";t()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),
-this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m),mxUtils.br(m));for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){m.appendChild(k(a.full_name,mxUtils.bind(this,function(){c=a.owner.login;d=a.name;e=a.default_branch;f="";t()})));mxUtils.br(m)})(b[g])}100==b.length&&(m.appendChild(p),v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",
+function(a){if(null!=a){var b=a.split("/");if(1<b.length){a=b[0];var f=b[1];3>b.length?(c=a,d=f,g=e=null,w()):this.ui.spinner.spin(m,mxResources.get("loading"))&&(b=encodeURIComponent(b.slice(2,b.length).join("/")),this.getFile(a+"/"+f+"/"+b,mxUtils.bind(this,function(a){this.ui.spinner.stop();c=a.meta.org;d=a.meta.repo;e=decodeURIComponent(a.meta.ref);g="";u()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),
+this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m),mxUtils.br(m));for(var f=0;f<b.length;f++)mxUtils.bind(this,function(a){m.appendChild(k(a.full_name,mxUtils.bind(this,function(){c=a.owner.login;d=a.name;e=a.default_branch;g="";u()})));mxUtils.br(m)})(b[f])}100==b.length&&(m.appendChild(p),v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",
 v))}),q)});z()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,b,c){DrawioFile.call(this,a,b);this.meta=c;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};
 TrelloFile.prototype.save=function(a,b,c){this.doSave(this.getTitle(),b,c)};TrelloFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};TrelloFile.prototype.doSave=function(a,b,c){var d=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=d;this.saveFile(a,!1,b,c)};
-TrelloFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&(this.saveNeededCounter++,d({code:App.ERROR_BUSY}));else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,f=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return f}});h();this.ui.trello.saveFile(this,mxUtils.bind(this,function(f){this.savingFile=!1;this.isModified=e;this.meta=f;this.contentChanged();null!=c&&c();0<this.saveNeededCounter&&
-(this.saveNeededCounter--,this.saveFile(a,b,c,d))}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(f||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(e){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(e){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(e);0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,
+TrelloFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&(this.saveNeededCounter++,d({code:App.ERROR_BUSY}));else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});h();this.ui.trello.saveFile(this,mxUtils.bind(this,function(g){this.savingFile=!1;this.isModified=e;this.meta=g;this.contentChanged();null!=c&&c();0<this.saveNeededCounter&&
+(this.saveNeededCounter--,this.saveFile(a,b,c,d))}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(g||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(e){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(e){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(e);0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,
 b,c,d))}),mxUtils.bind(this,function(){this.savingFile=!1;null!=d&&d()}),!1,e)}));else null!=c&&c()};TrelloLibrary=function(a,b,c){TrelloFile.call(this,a,b,c)};mxUtils.extend(TrelloLibrary,TrelloFile);TrelloLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};TrelloLibrary.prototype.open=function(){};TrelloClient=function(a){DrawioClient.call(this,a,"tauth");Trello.setKey(this.key)};mxUtils.extend(TrelloClient,DrawioClient);TrelloClient.prototype.key="e73615c79cf7e381aef91c85936e9553";TrelloClient.prototype.baseUrl="https://api.trello.com/1/";TrelloClient.prototype.SEPARATOR="|$|";TrelloClient.prototype.maxFileSize=1E7;TrelloClient.prototype.extension=".xml";
 TrelloClient.prototype.authenticate=function(a,b,c){c&&this.logout();c=mxUtils.bind(this,function(c,e){Trello.authorize({type:"popup",name:"draw.io",scope:{read:"true",write:"true"},expiration:c?"never":"1hour",success:function(){null!=e&&e();a()},error:function(){null!=e&&e();null!=b&&b(mxResources.get("loggedOut"))}})});this.isAuthorized()?c(!0):this.ui.showAuthDialog(this,!0,c)};TrelloClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!1,!0)};
-TrelloClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;var f=mxUtils.bind(this,function(){var d=a.split(this.SEPARATOR),l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT,retry:f})}),this.ui.timeout);Trello.cards.get(d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(d){window.clearTimeout(m);if(l){var g=/\.png$/i.test(d.name);/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&g?this.ui.convertFile(PROXY_URL+"?url="+encodeURIComponent(d.url),
-d.name,d.mimeType,this.extension,b,c):(l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),this.ui.loadUrl(PROXY_URL+"?url="+encodeURIComponent(d.url),mxUtils.bind(this,function(c){window.clearTimeout(m);if(l){d.compoundId=a;var f=g?c.lastIndexOf(","):-1;0<f&&(f=this.ui.extractGraphModelFromPng(c.substring(f+1)),null!=f&&0<f.length&&(c=f));e?b(new TrelloLibrary(this.ui,c,d)):b(new TrelloFile(this.ui,c,d))}}),mxUtils.bind(this,function(a,b){window.clearTimeout(m);
-l&&(401==b.status?this.authenticate(f,c,!0):c())}),g||null!=d.mimeType&&"image/"==d.mimeType.substring(0,6)))}}),mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(401==a.status?this.authenticate(f,c,!0):c())}))});this.authenticate(f,c)};TrelloClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)};
-TrelloClient.prototype.insertFile=function(a,b,c,d,e,f){e=null!=e?e:!1;var h=mxUtils.bind(this,function(){var h=mxUtils.bind(this,function(h){this.writeFile(a,h,f,mxUtils.bind(this,function(a){e?c(new TrelloLibrary(this.ui,b,a)):c(new TrelloFile(this.ui,b,a))}),d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){h(this.ui.base64ToBlob(a,"image/png"))}),d,b):h(b)});this.authenticate(h,d)};
-TrelloClient.prototype.saveFile=function(a,b,c){var d=a.meta.compoundId.split(this.SEPARATOR),e=mxUtils.bind(this,function(e){Trello.del("cards/"+d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(){this.writeFile(a.meta.name,e,d[0],b,c)}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(f,c,!0):c()}))}),f=mxUtils.bind(this,function(){this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){e(this.ui.base64ToBlob(a,"image/png"))}),
-c,this.ui.getCurrentFile()!=a?a.getData():null):e(a.getData())});this.authenticate(f,c)};
-TrelloClient.prototype.writeFile=function(a,b,c,d,e){if(null!=a&&null!=b)if(b.length>=this.maxFileSize)e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 10 MB)"});else{var f=mxUtils.bind(this,function(){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;e({code:App.ERROR_TIMEOUT,retry:f})}),this.ui.timeout),m=new FormData;m.append("key",Trello.key());m.append("token",Trello.token());m.append("file","string"===typeof b?new Blob([b]):b,a);m.append("name",
-a);var g=new XMLHttpRequest;g.responseType="json";g.onreadystatechange=mxUtils.bind(this,function(){if(4===g.readyState&&(window.clearTimeout(l),h))if(200==g.status){var a=g.response;a.compoundId=c+this.SEPARATOR+a.id;d(a)}else 401==g.status?this.authenticate(f,e,!0):e()});g.open("POST",this.baseUrl+"cards/"+c+"/attachments");g.send(m)});this.authenticate(f,e)}else e({message:mxResources.get("unknownError")})};TrelloClient.prototype.pickLibrary=function(a){this.pickFile(a)};
+TrelloClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;var g=mxUtils.bind(this,function(){var d=a.split(this.SEPARATOR),l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);Trello.cards.get(d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(d){window.clearTimeout(m);if(l){var f=/\.png$/i.test(d.name);/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&f?this.ui.convertFile(PROXY_URL+"?url="+encodeURIComponent(d.url),
+d.name,d.mimeType,this.extension,b,c):(l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),this.ui.loadUrl(PROXY_URL+"?url="+encodeURIComponent(d.url),mxUtils.bind(this,function(c){window.clearTimeout(m);if(l){d.compoundId=a;var g=f?c.lastIndexOf(","):-1;0<g&&(g=this.ui.extractGraphModelFromPng(c.substring(g+1)),null!=g&&0<g.length&&(c=g));e?b(new TrelloLibrary(this.ui,c,d)):b(new TrelloFile(this.ui,c,d))}}),mxUtils.bind(this,function(a,b){window.clearTimeout(m);
+l&&(401==b.status?this.authenticate(g,c,!0):c())}),f||null!=d.mimeType&&"image/"==d.mimeType.substring(0,6)))}}),mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(401==a.status?this.authenticate(g,c,!0):c())}))});this.authenticate(g,c)};TrelloClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)};
+TrelloClient.prototype.insertFile=function(a,b,c,d,e,g){e=null!=e?e:!1;var h=mxUtils.bind(this,function(){var h=mxUtils.bind(this,function(h){this.writeFile(a,h,g,mxUtils.bind(this,function(a){e?c(new TrelloLibrary(this.ui,b,a)):c(new TrelloFile(this.ui,b,a))}),d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){h(this.ui.base64ToBlob(a,"image/png"))}),d,b):h(b)});this.authenticate(h,d)};
+TrelloClient.prototype.saveFile=function(a,b,c){var d=a.meta.compoundId.split(this.SEPARATOR),e=mxUtils.bind(this,function(e){Trello.del("cards/"+d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(){this.writeFile(a.meta.name,e,d[0],b,c)}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(g,c,!0):c()}))}),g=mxUtils.bind(this,function(){this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){e(this.ui.base64ToBlob(a,"image/png"))}),
+c,this.ui.getCurrentFile()!=a?a.getData():null):e(a.getData())});this.authenticate(g,c)};
+TrelloClient.prototype.writeFile=function(a,b,c,d,e){if(null!=a&&null!=b)if(b.length>=this.maxFileSize)e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 10 MB)"});else{var g=mxUtils.bind(this,function(){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;e({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout),m=new FormData;m.append("key",Trello.key());m.append("token",Trello.token());m.append("file","string"===typeof b?new Blob([b]):b,a);m.append("name",
+a);var f=new XMLHttpRequest;f.responseType="json";f.onreadystatechange=mxUtils.bind(this,function(){if(4===f.readyState&&(window.clearTimeout(l),h))if(200==f.status){var a=f.response;a.compoundId=c+this.SEPARATOR+a.id;d(a)}else 401==f.status?this.authenticate(g,e,!0):e()});f.open("POST",this.baseUrl+"cards/"+c+"/attachments");f.send(m)});this.authenticate(g,e)}else e({message:mxResources.get("unknownError")})};TrelloClient.prototype.pickLibrary=function(a){this.pickFile(a)};
 TrelloClient.prototype.pickFolder=function(a){this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!1,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)}))};TrelloClient.prototype.pickFile=function(a,b){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("T"+encodeURIComponent(a))});this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!0,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a,mxResources.get("ok"))}))};
-TrelloClient.prototype.showTrelloDialog=function(a,b){var c=null,d="@me",e=0,f=document.createElement("div");f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.height="224px";var h=document.createElement("h3");mxUtils.write(h,a?mxResources.get("selectFile"):mxResources.get("selectCard"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(h);var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.height=
-"194px";f.appendChild(l);f=new CustomDialog(this.ui,f);this.ui.showDialog(f.container,340,270,!0,!0);f.okButton.parentNode.removeChild(f.okButton);var m=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("div");d.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;background:"+(0==e%2?"#eee":"#fff");var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");if(null!=c){var g=document.createElement("img");g.src=c.url;g.width=c.width;g.height=
-c.height;g.style="border: 1px solid black;margin:5px;vertical-align:middle";f.appendChild(g)}mxUtils.write(f,a);mxEvent.addListener(f,"click",b);d.appendChild(f);return d}),g=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),k=mxUtils.bind(this,function(){e=0;l.innerHTML="";this.ui.spinner.spin(l,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(c+"/attachments",{fields:"id,name,previews"},
-mxUtils.bind(this,function(a){this.ui.spinner.stop();l.appendChild(m("../ [Up]",mxUtils.bind(this,function(){t()})));mxUtils.br(l);null==a||0==a.length?mxUtils.write(l,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){l.appendChild(m(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();b(c+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[d])})()}),mxUtils.bind(this,function(b){401==b.status?this.authenticate(a,g,!0):
-null!=g&&g(b)}))});a()}),n=null,q=null,t=mxUtils.bind(this,function(f){null==f&&(e=0,l.innerHTML="",f=1);this.ui.spinner.spin(l,mxResources.get("loading"));null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n);n=document.createElement("a");n.style.display="block";n.setAttribute("href","javascript:void(0);");mxUtils.write(n,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(l,"scroll",q);t(f+1)});mxEvent.addListener(n,"click",h);var p=mxUtils.bind(this,function(){Trello.get("search",
-{query:""==mxUtils.trim(d)?"is:open":d,cards_limit:100,cards_page:f-1},mxUtils.bind(this,function(e){this.ui.spinner.stop();e=null!=e?e.cards:null;if(null==e||0==e.length)mxUtils.write(l,mxResources.get("noFiles"));else{1==f&&(l.appendChild(m(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,d,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(d=a,t())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards");
-this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(l));for(var g=0;g<e.length;g++)mxUtils.bind(this,function(d){l.appendChild(m(d.name,mxUtils.bind(this,function(){a?(c=d.id,k()):(this.ui.hideDialog(),b(d.id))})))})(e[g]);100==e.length&&(l.appendChild(n),q=function(){l.scrollTop>=l.scrollHeight-l.offsetHeight&&h()},mxEvent.addListener(l,"scroll",q))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(p,g,!0):null!=g&&g({message:a.responseText})}))});p()});t()};
-TrelloClient.prototype.isAuthorized=function(){try{return null!=localStorage.trello_token}catch(a){}return!1};TrelloClient.prototype.logout=function(){localStorage.removeItem("trello_token");Trello.deauthorize()};function ChatWindow(a,b,c,d,e,f,h,l){this.editorUi=a;this.doc=l.doc;this.rtModel=l.rt;this.chatHistory=l.chatHistory;this.chatMap=l.chatMap;this.configCollabInfo();c=document.createElement("div");c.id="mainDiv";l=document.createElement("div");l.style.padding="3px";c.appendChild(l);var m=document.createElement("div");m.style.paddingLeft="3px";m.style.paddingRight="15px";a.editor.graph.isEnabled()&&c.appendChild(m);this.chatArea=document.createElement("div");this.chatArea.style.backgroundColor="white";
+TrelloClient.prototype.showTrelloDialog=function(a,b){var c=null,d="@me",e=0,g=document.createElement("div");g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.height="224px";var h=document.createElement("h3");mxUtils.write(h,a?mxResources.get("selectFile"):mxResources.get("selectCard"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(h);var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.height=
+"194px";g.appendChild(l);g=new CustomDialog(this.ui,g);this.ui.showDialog(g.container,340,270,!0,!0);g.okButton.parentNode.removeChild(g.okButton);var m=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("div");d.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;background:"+(0==e%2?"#eee":"#fff");var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");if(null!=c){var g=document.createElement("img");g.src=c.url;g.width=c.width;g.height=
+c.height;g.style="border: 1px solid black;margin:5px;vertical-align:middle";f.appendChild(g)}mxUtils.write(f,a);mxEvent.addListener(f,"click",b);d.appendChild(f);return d}),f=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),k=mxUtils.bind(this,function(){e=0;l.innerHTML="";this.ui.spinner.spin(l,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(c+"/attachments",{fields:"id,name,previews"},
+mxUtils.bind(this,function(a){this.ui.spinner.stop();l.appendChild(m("../ [Up]",mxUtils.bind(this,function(){u()})));mxUtils.br(l);null==a||0==a.length?mxUtils.write(l,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){l.appendChild(m(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();b(c+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[d])})()}),mxUtils.bind(this,function(b){401==b.status?this.authenticate(a,f,!0):
+null!=f&&f(b)}))});a()}),n=null,q=null,u=mxUtils.bind(this,function(g){null==g&&(e=0,l.innerHTML="",g=1);this.ui.spinner.spin(l,mxResources.get("loading"));null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n);n=document.createElement("a");n.style.display="block";n.setAttribute("href","javascript:void(0);");mxUtils.write(n,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(l,"scroll",q);u(g+1)});mxEvent.addListener(n,"click",h);var p=mxUtils.bind(this,function(){Trello.get("search",
+{query:""==mxUtils.trim(d)?"is:open":d,cards_limit:100,cards_page:g-1},mxUtils.bind(this,function(e){this.ui.spinner.stop();e=null!=e?e.cards:null;if(null==e||0==e.length)mxUtils.write(l,mxResources.get("noFiles"));else{1==g&&(l.appendChild(m(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,d,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(d=a,u())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards");
+this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(l));for(var f=0;f<e.length;f++)mxUtils.bind(this,function(d){l.appendChild(m(d.name,mxUtils.bind(this,function(){a?(c=d.id,k()):(this.ui.hideDialog(),b(d.id))})))})(e[f]);100==e.length&&(l.appendChild(n),q=function(){l.scrollTop>=l.scrollHeight-l.offsetHeight&&h()},mxEvent.addListener(l,"scroll",q))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(p,f,!0):null!=f&&f({message:a.responseText})}))});p()});u()};
+TrelloClient.prototype.isAuthorized=function(){try{return null!=localStorage.trello_token}catch(a){}return!1};TrelloClient.prototype.logout=function(){localStorage.removeItem("trello_token");Trello.deauthorize()};function ChatWindow(a,b,c,d,e,g,h,l){this.editorUi=a;this.doc=l.doc;this.rtModel=l.rt;this.chatHistory=l.chatHistory;this.chatMap=l.chatMap;this.configCollabInfo();c=document.createElement("div");c.id="mainDiv";l=document.createElement("div");l.style.padding="3px";c.appendChild(l);var m=document.createElement("div");m.style.paddingLeft="3px";m.style.paddingRight="15px";a.editor.graph.isEnabled()&&c.appendChild(m);this.chatArea=document.createElement("div");this.chatArea.style.backgroundColor="white";
 this.chatArea.style.overflowX="hidden";this.chatArea.style.overflowY="auto";this.chatArea.style.width="98%";this.chatArea.style.resize="none";l.appendChild(this.chatArea);this.chatLineArea=document.createElement("textarea");this.chatLineArea.style.resize="none";this.chatLineArea.rows=1;this.chatLineArea.onkeydown=mxUtils.bind(this,function(a){13==(a.keyCode||window.event.keyCode)&&""!=this.chatLineArea.value&&this.sendMessage()});this.sendBtn=document.createElement("button");this.sendBtn.style.cssFloat=
-"right";this.sendBtn.style.styleFloat="right";mxUtils.write(this.sendBtn,mxResources.get("sendMessage"));mxEvent.addListener(this.sendBtn,"click",mxUtils.bind(this,function(a){""!=this.chatLineArea.value&&this.sendMessage()}));m.appendChild(this.chatLineArea);m.appendChild(this.sendBtn);this.window=new mxWindow(b,c,d,e,f,h,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!0);this.window.setScrollable(!0);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
+"right";this.sendBtn.style.styleFloat="right";mxUtils.write(this.sendBtn,mxResources.get("sendMessage"));mxEvent.addListener(this.sendBtn,"click",mxUtils.bind(this,function(a){""!=this.chatLineArea.value&&this.sendMessage()}));m.appendChild(this.chatLineArea);m.appendChild(this.sendBtn);this.window=new mxWindow(b,c,d,e,g,h,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!0);this.window.setScrollable(!0);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
 this.handleResize();this.window.addListener(mxEvent.RESIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.MAXIMIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,this.handleResize));if(null!=this.chatHistory){for(a=Math.max(0,this.chatHistory.length-this.chatHistoryShow);a<this.chatHistory.length;a++)this.updateChatArea(this.chatHistory.get(a));this.chatHistory.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this,
 function(a){this.updateChatArea(a.target.get(a.index))}))}this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_JOINED,mxUtils.bind(this,this.collaboratorListener));this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_LEFT,mxUtils.bind(this,this.collaboratorListener));null!=this.chatMap&&this.chatMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){this.updateChatArea(a.target.get(a.property))}))}
 ChatWindow.prototype.window=null;ChatWindow.prototype.doc=null;ChatWindow.prototype.chatHistory=null;ChatWindow.prototype.chatMap=null;ChatWindow.prototype.chatHistoryShow=10;ChatWindow.prototype.chatHistorySize=0;ChatWindow.prototype.setChatMap=function(a){this.chatMap=a};
@@ -7743,11 +7807,11 @@ App.main=function(a,b){function c(d){mxUtils.getAll("1"!=urlParams.dev?[d]:[d,"d
 null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&
 null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==
 urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:",
-"1"==urlParams.test?"active":"inactive"))},function(a){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";c(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var d=null;EditorUi.enableLogging&&(window.onerror=function(a,b,c,e,f){try{if(a!=d&&(null==a||null==b||-1==
-a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){d=a;var g=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";g.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+
-(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(y){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var e=document.createElement("iframe");e.setAttribute("width","0");e.setAttribute("height","0");e.setAttribute("src","offline.html");document.body.appendChild(e)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var e=
-mxSettings.getPlugins(),f=urlParams.p;App.initPluginCallback();if(null!=f){var h="";"1"==urlParams.drawdev&&(h=document.location.protocol+"//drawhost.jgraph.com/");for(var l=f.split(";"),f=0;f<l.length;f++){var m=App.pluginRegistry[l[f]];null!=m?mxscript(h+m):null!=window.console&&console.log("Unknown plugin:",l[f])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=e&&0<e.length&&"0"!=urlParams.plugins){h=window.location.protocol+
-"//"+window.location.host;l=!0;for(f=0;f<e.length&&l;f++)"/"!=e[f].charAt(0)&&e[f].substring(0,h.length)!=h&&(l=!1);if(l||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[e.join("\n")]).replace(/\\n/g,"\n")))for(f=0;f<e.length;f++)try{mxscript(e[f])}catch(g){}}}"function"===typeof window.DriveClient&&
+"1"==urlParams.test?"active":"inactive"))},function(a){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";c(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var d=null;EditorUi.enableLogging&&(window.onerror=function(a,b,c,e,g){try{if(a!=d&&(null==a||null==b||-1==
+a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){d=a;var f=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";f.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+
+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(w){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var e=document.createElement("iframe");e.setAttribute("width","0");e.setAttribute("height","0");e.setAttribute("src","offline.html");document.body.appendChild(e)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var e=
+mxSettings.getPlugins(),g=urlParams.p;App.initPluginCallback();if(null!=g){var h="";"1"==urlParams.drawdev&&(h=document.location.protocol+"//drawhost.jgraph.com/");for(var l=g.split(";"),g=0;g<l.length;g++){var m=App.pluginRegistry[l[g]];null!=m?mxscript(h+m):null!=window.console&&console.log("Unknown plugin:",l[g])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=e&&0<e.length&&"0"!=urlParams.plugins){h=window.location.protocol+
+"//"+window.location.host;l=!0;for(g=0;g<e.length&&l;g++)"/"!=e[g].charAt(0)&&e[g].substring(0,h.length)!=h&&(l=!1);if(l||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[e.join("\n")]).replace(/\\n/g,"\n")))for(g=0;g<e.length;g++)try{mxscript(e[g])}catch(f){}}}"function"===typeof window.DriveClient&&
 "undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;c(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
 mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
 App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
@@ -7770,18 +7834,18 @@ IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.ge
 App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname};
 App.prototype.checkLicense=function(){var a=this.drive.getUser(),b=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=b){var c=b.lastIndexOf("@"),d=b;0<=c&&(d=b.substring(c+1),b=this.crc32(b.substring(0,c))+"@"+d);mxUtils.post("/license","domain="+encodeURIComponent(d)+"&email="+encodeURIComponent(b)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<=
 a.getStatus()&&299>=a.getStatus()){var b=a.getText();if(0<b.length){var c=JSON.parse(b);null!=c&&this.handleLicense(c,d)}}}catch(l){}}))}};
-App.prototype.handleLicense=function(a,b){var c=document.getElementById("geFooter"),d=null;if(null!=c&&null!=a)if(d=a.expiry,null!=a.footer)c.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=d&&"never"!=d){var e=new Date(Date.parse(d)),f=Math.round((e-Date.now())/864E5);if(90>f){var h="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(b);c.style.height="100%";c.style.margin="0px";c.style.display=
-"";0>f?(this.footerHeight=80,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+h+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[b,e.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
+App.prototype.handleLicense=function(a,b){var c=document.getElementById("geFooter"),d=null;if(null!=c&&null!=a)if(d=a.expiry,null!=a.footer)c.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=d&&"never"!=d){var e=new Date(Date.parse(d)),g=Math.round((e-Date.now())/864E5);if(90>g){var h="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(b);c.style.height="100%";c.style.margin="0px";c.style.display=
+"";0>g?(this.footerHeight=80,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+h+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[b,e.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
 h+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[b,e.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return d};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)};
 App.prototype.updateActionStates=function(){EditorUi.prototype.updateActionStates.apply(this,arguments);var a=this.getCurrentFile();this.actions.get("revisionHistory").setEnabled(null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile))};App.prototype.updateDraft=function(){isLocalStorage&&null!=localStorage&&localStorage.setItem(".draft",JSON.stringify({modified:(new Date).getTime(),data:this.getFileData()}))};App.prototype.getDraft=function(){return null};
 App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var b=this.getRecent();if(null==b)b=[];else for(var c=0;c<b.length;c++)b[c].id==a.id&&b.splice(c,1);null!=b&&(b.unshift(a),b=b.slice(0,5),localStorage.setItem(".recent",JSON.stringify(b)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(b){}return null}};
 App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(b){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}};
 App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((a.constructor!=DriveFile||null==a.realtime||a.realtime.saving)&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")};
 App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,b=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=b&&(a=(null!=b.getTitle()?b.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],b,c=0;256>c;c++){b=c;for(var d=0;8>d;d++)b=b&1?3988292384^b>>>1:b>>>1;a[c]=b}return a};
-App.prototype.getThumbnail=function(a,b){var c=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var d=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,f=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);d.model.setRoot(f.root)}if(mxClient.IS_CHROMEAPP||!d.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
-function(a){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(a)}),a,this.thumbImageCache,"#ffffff",function(){b()},null,null,null,null,null,null,d),c=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var h=document.createElement("canvas"),l=d.getGraphBounds(),m=a/l.width,m=Math.min(1,Math.min(3*a/(4*l.height),m)),g=Math.floor(l.x),k=Math.floor(l.y);h.setAttribute("width",Math.ceil(m*(l.width+4)));h.setAttribute("height",Math.ceil(m*(l.height+4)));var n=h.getContext("2d");
-n.scale(m,m);n.translate(-g,-k);var q=d.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";n.save();n.fillStyle=q;n.fillRect(g,k,Math.ceil(l.width+4),Math.ceil(l.height+4));n.restore();var t=new mxJsCanvas(h),p=new mxAsyncCanvas(this.thumbImageCache);t.images=this.thumbImageCache.images;var v=new mxImageExport;v.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};v.drawText=function(a,
-b){};v.drawState(d.getView().getState(d.model.root),p);p.finish(mxUtils.bind(this,function(){v.drawState(d.getView().getState(d.model.root),t);d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(h)}));c=!0}}catch(y){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}return c};
+App.prototype.getThumbnail=function(a,b){var c=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var d=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);d.model.setRoot(g.root)}if(mxClient.IS_CHROMEAPP||!d.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
+function(a){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(a)}),a,this.thumbImageCache,"#ffffff",function(){b()},null,null,null,null,null,null,d),c=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var h=document.createElement("canvas"),l=d.getGraphBounds(),m=a/l.width,m=Math.min(1,Math.min(3*a/(4*l.height),m)),f=Math.floor(l.x),k=Math.floor(l.y);h.setAttribute("width",Math.ceil(m*(l.width+4)));h.setAttribute("height",Math.ceil(m*(l.height+4)));var n=h.getContext("2d");
+n.scale(m,m);n.translate(-f,-k);var q=d.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";n.save();n.fillStyle=q;n.fillRect(f,k,Math.ceil(l.width+4),Math.ceil(l.height+4));n.restore();var u=new mxJsCanvas(h),p=new mxAsyncCanvas(this.thumbImageCache);u.images=this.thumbImageCache.images;var v=new mxImageExport;v.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};v.drawText=function(a,
+b){};v.drawState(d.getView().getState(d.model.root),p);p.finish(mxUtils.bind(this,function(){v.drawState(d.getView().getState(d.model.root),u);d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(h)}));c=!0}}catch(w){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}return c};
 App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a};
 (function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(b,c){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(c)if(isLocalStorage)localStorage.setItem(".mode",b);else if("undefined"!=typeof Storage){var d=new Date;d.setYear(d.getFullYear()+1);document.cookie="MODE="+b+"; expires="+d.toUTCString()}null!=this.appIcon&&(d=this.getCurrentFile(),b=null!=d?d.getMode():null,b==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",
 [mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):b==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):b==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})();
@@ -7797,7 +7861,7 @@ mxResources.get("close"));a.innerHTML=mxResources.get("close");b.appendChild(a);
 App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{var b=this.getDiagramId(),c=this.getCurrentFile();null!=c&&c.getHash()==b||this.loadFile(b,!0)}catch(l){null!=document.body&&this.handleError(l,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=
 a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var a=mxUtils.bind(this,function(a){"data:image/png;base64,"==a.substring(0,22)&&(a=this.extractGraphModelFromPng(a));var b=urlParams.title,b=null!=b?decodeURIComponent(b):
 this.defaultFilename;a=new LocalFile(this,a,b,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(a.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(a);this.getCurrentFile().setModified(!this.editor.chromeless)}),b=window.opener||window.parent;if(b!=window){var c=urlParams.create;null!=c?a(b[decodeURIComponent(c)]):(c=urlParams.data,null!=c?a(decodeURIComponent(c)):this.installMessageHandler(mxUtils.bind(this,function(c,d){d.source==b&&a(c)})))}}else if(null==
-this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(g){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(this.getDiagramId());else{var d=this.getDraft(),m=null!=d?d.data:this.getFileData(),c=Editor.useLocalStorage;this.createFile(this.defaultFilename,
+this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(f){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(this.getDiagramId());else{var d=this.getDraft(),m=null!=d?d.data:this.getFileData(),c=Editor.useLocalStorage;this.createFile(this.defaultFilename,
 m,null,null,null,null,null,!0);Editor.useLocalStorage=c;null!=d&&(c=this.getCurrentFile(),null!=c&&c.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var b=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=b&&0<b.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create",
 "title"]))}),d=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;a=this.getServiceCount(!0);var c=4>=a?4:3,b=new CreateDialog(this,b,mxUtils.bind(this,function(a,b){if(null==b){this.hideDialog();var c=Editor.useLocalStorage;this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null,
 null,null,null,null,!0);Editor.useLocalStorage=c}else this.createFile(a,this.getFileData(!0),null,b)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,c);this.showDialog(b.container,380,a>c?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),b=decodeURIComponent(b);if("http://"!=b.substring(0,7)&&"https://"!=b.substring(0,8))try{null!=window.opener&&null!=window.opener[b]?d(window.opener[b]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(e){this.handleError(e,
@@ -7813,45 +7877,45 @@ gapi.drive.realtime.custom.collaborativeField("style"),mxRtCell.prototype.geomet
 gapi.drive.realtime.custom.collaborativeField("children"),mxRtCell.prototype.source=gapi.drive.realtime.custom.collaborativeField("source"),mxRtCell.prototype.target=gapi.drive.realtime.custom.collaborativeField("target"))};mxRtCell=function(){};mxCodecRegistry.getCodec(mxCell).exclude.push("rtCell");mxCell.prototype.mxTransient.push("rtCell");
 App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var b=this.getPeerForMode(a);if(null!=b)b.pickFile();else if(a==App.MODE_DEVICE&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,
 "change",mxUtils.bind(this,function(){null!=c.files&&this.openFiles(c.files)}));c.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(b,c){this.useCanvasForExport||".png"!=c.substring(c.length-4)||(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER?
-new StorageFile(this,b,c):new LocalFile(this,b,c))}));var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);null==this.getCurrentFile()&&this.showSplash()})}}};
+new StorageFile(this,b,c):new LocalFile(this,b,c))}));var e=this.dialog,g=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;g.apply(e,arguments);null==this.getCurrentFile()&&this.showSplash()})}}};
 App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var b=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=b&&b.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(h){this.handleError(h,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body,
 mxResources.get("loading"))&&b.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile=
 new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(b,c){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,b,c):new LocalLibrary(this,b,c))}catch(h){this.handleError(h,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=c;window.openFile=null})}else{var d=document.createElement("input");
 d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){if(null!=d.files)for(var a=0;a<d.files.length;a++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}});b.readAsText(a)})(d.files[a])}));d.click()}};
-App.prototype.saveLibrary=function(a,b,c,d,e,f,h){d=null!=d?d:this.mode;e=null!=e?e:!1;f=null!=f?f:!1;var l=this.createLibraryDataFromImages(b),m=mxUtils.bind(this,function(a){this.spinner.stop();null!=h&&h();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==c&&d==App.MODE_DEVICE&&(c=new LocalLibrary(this,l,a));if(null==c)this.pickFolder(d,mxUtils.bind(this,function(c){d==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a,
+App.prototype.saveLibrary=function(a,b,c,d,e,g,h){d=null!=d?d:this.mode;e=null!=e?e:!1;g=null!=g?g:!1;var l=this.createLibraryDataFromImages(b),m=mxUtils.bind(this,function(a){this.spinner.stop();null!=h&&h();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==c&&d==App.MODE_DEVICE&&(c=new LocalLibrary(this,l,a));if(null==c)this.pickFolder(d,mxUtils.bind(this,function(c){d==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a,
 l,c,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,this.drive.libraryMimeType):d==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,l,mxUtils.bind(this,
 function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop();
-this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_BROWSER?(c=mxUtils.bind(this,function(){var c=new StorageLibrary(this,l,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(c,b)}),m)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(e||this.spinner.spin(document.body,mxResources.get("saving"))){c.setData(l);var g=mxUtils.bind(this,
-function(){c.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);f||this.libraryLoaded(c,b);null!=h&&h()}),m)});if(a!=c.getTitle()){var k=c.getHash();c.rename(a,mxUtils.bind(this,function(a){c.constructor!=LocalLibrary&&k!=c.getHash()&&(mxSettings.removeCustomLibrary(k),mxSettings.addCustomLibrary(c.getHash()));this.removeLibrarySidebar(k);g()}),m)}else g()}};
-App.prototype.saveFile=function(a){var b=this.getCurrentFile();if(null!=b){var c=mxUtils.bind(this,function(){this.removeDraft();b.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==b.getTitle()||null==this.mode){var d=null!=b.getTitle()?b.getTitle():this.defaultFilename,e=!mxClient.IS_IOS||!navigator.standalone,f=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var h=4>=a?2:6<a?4:3,d=new CreateDialog(this,
-d,mxUtils.bind(this,function(a,b){null!=a&&0<a.length&&(null==f&&b==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,c)):"download"==b?(new LocalFile(this,null,a)).save():"_blank"==b?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):f!=b?this.pickFolder(b,mxUtils.bind(this,function(d){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a),
+this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_BROWSER?(c=mxUtils.bind(this,function(){var c=new StorageLibrary(this,l,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(c,b)}),m)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(e||this.spinner.spin(document.body,mxResources.get("saving"))){c.setData(l);var f=mxUtils.bind(this,
+function(){c.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);g||this.libraryLoaded(c,b);null!=h&&h()}),m)});if(a!=c.getTitle()){var k=c.getHash();c.rename(a,mxUtils.bind(this,function(a){c.constructor!=LocalLibrary&&k!=c.getHash()&&(mxSettings.removeCustomLibrary(k),mxSettings.addCustomLibrary(c.getHash()));this.removeLibrarySidebar(k);f()}),m)}else f()}};
+App.prototype.saveFile=function(a){var b=this.getCurrentFile();if(null!=b){var c=mxUtils.bind(this,function(){this.removeDraft();b.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==b.getTitle()||null==this.mode){var d=null!=b.getTitle()?b.getTitle():this.defaultFilename,e=!mxClient.IS_IOS||!navigator.standalone,g=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var h=4>=a?2:6<a?4:3,d=new CreateDialog(this,
+d,mxUtils.bind(this,function(a,b){null!=a&&0<a.length&&(null==g&&b==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,c)):"download"==b?(new LocalFile(this,null,a)).save():"_blank"==b?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):g!=b?this.pickFolder(b,mxUtils.bind(this,function(d){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a),
 /(\.html)$/i.test(a)),null,b,c,null==this.mode,d)}),b!==App.MODE_GITHUB):null!=b&&this.save(a,c))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,e,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,h);this.showDialog(d.container,460,a>h?390:270,!0,!0);d.init()}else this.save(b.getTitle(),c)}};
 EditorUi.prototype.loadTemplate=function(a,b,c){var d=a;this.isCorsEnabledForUrl(d)||(d="t="+(new Date).getTime(),d=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+d);this.loadUrl(d,mxUtils.bind(this,function(d){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(d.substring(d.indexOf(",")+1)),function(a){b(a)},c,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,a)?this.parseFile(new Blob([d],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&
 200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&b(a.responseText)}),a):'{"state":"{\\"Properties\\":'==d.substring(0,26)?this.importLucidChart(d,0,0,!1,mxUtils.bind(this,function(){b(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(d=this.extractGraphModelFromPng(d)),b(d))}),c,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))};
 App.prototype.getPeerForMode=function(a){return a==App.MODE_GOOGLE?this.drive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_DROPBOX?this.dropbox:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_TRELLO?this.trello:null};
-App.prototype.createFile=function(a,b,c,d,e,f,h,l){d=l?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){b=null!=b?b:this.emptyDiagramXml;var m=mxUtils.bind(this,function(){this.spinner.stop()}),g=mxUtils.bind(this,function(a){m();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});d==App.MODE_GOOGLE&&null!=this.drive?(h=null!=this.stateArg?this.stateArg.folderId:h,this.drive.insertFile(a,b,h,mxUtils.bind(this,
-function(a){m();this.fileCreated(a,c,f,e)}),g)):d==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(d,mxUtils.bind(this,function(d){this.gitHub.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,f,e)}),g,!1,d)})):d==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,f,e)}),g,!1,h):d==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,f,e)}),g):
-d==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,f,e)}),g,!1,h):d==App.MODE_BROWSER?(m(),d=mxUtils.bind(this,function(){var d=new StorageFile(this,b,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,c,f,e)}),g)}),null==localStorage.getItem(a)?d():this.confirm(mxResources.get("replaceIt",[a]),d,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(m(),this.fileCreated(new LocalFile(this,
-b,a,null==d),c,f,e))}};
-App.prototype.fileCreated=function(a,b,c,d){var e=window.location.pathname;null!=b&&0<b.length&&(e+="?libs="+b);e=this.getUrl(e);a.getMode()!=App.MODE_DEVICE&&(e+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var f=a.getData(),f=0<f.length?this.editor.extractGraphModel(mxUtils.parseXml(f).documentElement,!0):null,h=window.location.protocol+"//"+window.location.hostname+e,l=f,m=null;null!=f&&/\.svg$/i.test(a.getTitle())&&(m=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(m.container),
-l=this.decodeNodeIntoGraph(l,m));a.setData(this.createFileData(f,m,a,h));null!=m&&m.container.parentNode.removeChild(m.container);var g=mxUtils.bind(this,function(){this.spinner.stop()}),k=mxUtils.bind(this,function(){g();var f=this.getCurrentFile();null==c&&null!=f&&(c=!f.isModified()&&null==f.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);c&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=b&&this.sidebar.showEntries(b)}),
-k=mxUtils.bind(this,function(){c||null==f||!f.isModified()?h():this.confirm(mxResources.get("allChangesLost"),null,h,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=d&&d();null==c||c?k():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=d&&d(),window.openWindow(e,null,k))});a.constructor==LocalFile||a.constructor==DriveFile?k():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,
-function(){k()}),mxUtils.bind(this,function(a){g();this.handleError(a)}))}};
-App.prototype.loadFile=function(a,b,c,d){this.hideDialog();var e=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var e=localStorage.getItem(a);if(null!=e)this.fileLoaded(new StorageFile(this,e,a)),null!=d&&d();else throw{message:mxResources.get("fileNotFound")};}catch(g){this.handleError(g,
+App.prototype.createFile=function(a,b,c,d,e,g,h,l){d=l?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){b=null!=b?b:this.emptyDiagramXml;var m=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(a){m();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});d==App.MODE_GOOGLE&&null!=this.drive?(h=null!=this.stateArg?this.stateArg.folderId:h,this.drive.insertFile(a,b,h,mxUtils.bind(this,
+function(a){m();this.fileCreated(a,c,g,e)}),f)):d==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(d,mxUtils.bind(this,function(d){this.gitHub.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,d)})):d==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f):
+d==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_BROWSER?(m(),d=mxUtils.bind(this,function(){var d=new StorageFile(this,b,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,c,g,e)}),f)}),null==localStorage.getItem(a)?d():this.confirm(mxResources.get("replaceIt",[a]),d,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(m(),this.fileCreated(new LocalFile(this,
+b,a,null==d),c,g,e))}};
+App.prototype.fileCreated=function(a,b,c,d){var e=window.location.pathname;null!=b&&0<b.length&&(e+="?libs="+b);e=this.getUrl(e);a.getMode()!=App.MODE_DEVICE&&(e+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var g=a.getData(),g=0<g.length?this.editor.extractGraphModel(mxUtils.parseXml(g).documentElement,!0):null,h=window.location.protocol+"//"+window.location.hostname+e,l=g,m=null;null!=g&&/\.svg$/i.test(a.getTitle())&&(m=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(m.container),
+l=this.decodeNodeIntoGraph(l,m));a.setData(this.createFileData(g,m,a,h));null!=m&&m.container.parentNode.removeChild(m.container);var f=mxUtils.bind(this,function(){this.spinner.stop()}),k=mxUtils.bind(this,function(){f();var g=this.getCurrentFile();null==c&&null!=g&&(c=!g.isModified()&&null==g.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);c&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=b&&this.sidebar.showEntries(b)}),
+k=mxUtils.bind(this,function(){c||null==g||!g.isModified()?h():this.confirm(mxResources.get("allChangesLost"),null,h,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=d&&d();null==c||c?k():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=d&&d(),window.openWindow(e,null,k))});a.constructor==LocalFile||a.constructor==DriveFile?k():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,
+function(){k()}),mxUtils.bind(this,function(a){f();this.handleError(a)}))}};
+App.prototype.loadFile=function(a,b,c,d){this.hideDialog();var e=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var e=localStorage.getItem(a);if(null!=e)this.fileLoaded(new StorageFile(this,e,a)),null!=d&&d();else throw{message:mxResources.get("fileNotFound")};}catch(f){this.handleError(f,
 mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else if(null!=c)this.spinner.stop(),this.fileLoaded(c),null!=d&&d();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))),
-d,mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}catch(g){this.handleError(g,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),e=decodeURIComponent(a.substring(1)),"<"!=e.charAt(0)&&(e=this.editor.graph.decompress(e)),e=new LocalFile(this,e,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),e.getHash=function(){return a},this.fileLoaded(e),null!=d&&d();else if("U"==a.charAt(0)){var f=decodeURIComponent(a.substring(1));
-this.loadTemplate(f,mxUtils.bind(this,function(c){this.spinner.stop();if(null!=c&&0<c.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=f,h=f.lastIndexOf("."),l=g.lastIndexOf("/");h>l&&0<l&&(g=g.substring(l+1,h),h=f.substring(h),this.useCanvasForExport||".png"!=h||(h=".xml"),".svg"===h||".xml"===h||".html"===h||".png"===h)&&(e=g+h)}c=new LocalFile(this,c,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);c.getHash=function(){return a};this.fileLoaded(c)||
-"https://drive.google.com/uc?id="!=f.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),c=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+f.substring(31,f.lastIndexOf("&")),b,d),!0):!1}),!c()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",c))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else e=
+d,mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}catch(f){this.handleError(f,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),e=decodeURIComponent(a.substring(1)),"<"!=e.charAt(0)&&(e=this.editor.graph.decompress(e)),e=new LocalFile(this,e,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),e.getHash=function(){return a},this.fileLoaded(e),null!=d&&d();else if("U"==a.charAt(0)){var g=decodeURIComponent(a.substring(1));
+this.loadTemplate(g,mxUtils.bind(this,function(c){this.spinner.stop();if(null!=c&&0<c.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var f=g,h=g.lastIndexOf("."),l=f.lastIndexOf("/");h>l&&0<l&&(f=f.substring(l+1,h),h=g.substring(h),this.useCanvasForExport||".png"!=h||(h=".xml"),".svg"===h||".xml"===h||".html"===h||".png"===h)&&(e=f+h)}c=new LocalFile(this,c,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);c.getHash=function(){return a};this.fileLoaded(c)||
+"https://drive.google.com/uc?id="!=g.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),c=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+g.substring(31,g.lastIndexOf("&")),b,d),!0):!1}),!c()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",c))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else e=
 null,"G"==a.charAt(0)?e=this.drive:"D"==a.charAt(0)?e=this.dropbox:"W"==a.charAt(0)?e=this.oneDrive:"H"==a.charAt(0)?e=this.gitHub:"T"==a.charAt(0)&&(e=this.trello),null==e?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""})):(a=decodeURIComponent(a.substring(1)),e.getFile(a,mxUtils.bind(this,function(a){this.spinner.stop();this.fileLoaded(a);
-null!=d&&d()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=a.getHash()}))})))}),f=this.getCurrentFile(),h=mxUtils.bind(this,function(){null!=f&&f.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=f&&(window.location.hash=
-f.getHash())}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()});null==a||0==a.length?h():null!=f&&f.isModified()&&!b?window.openWindow(this.getUrl()+"#"+a,null,h):h()};
+null!=d&&d()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=a.getHash()}))})))}),g=this.getCurrentFile(),h=mxUtils.bind(this,function(){null!=g&&g.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=g&&(window.location.hash=
+g.getHash())}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()});null==a||0==a.length?h():null!=g&&g.isModified()&&!b?window.openWindow(this.getUrl()+"#"+a,null,h):h()};
 App.prototype.getLibraryStorageHint=function(a){var b=a.getTitle();a.constructor!=LocalLibrary&&(b+="\n"+a.getHash());a.constructor==DriveLibrary?b+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?b+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?b+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?b+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?b+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?b+=" ("+
 mxResources.get("browser")+")":a.constructor==LocalLibrary&&(b+=" ("+mxResources.get("device")+")");return b};
-App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=mxUtils.bind(this,function(b,d){var c=0,f=[],h=mxUtils.bind(this,function(){if(0==c){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=f[a]&&this.loadLibrary(f[a]);null!=d&&d()}});if(null!=b)for(var l=0;l<b.length;l++){var m=encodeURIComponent(decodeURIComponent(b[l]));mxUtils.bind(this,
-function(b,d){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){c++;var e=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];f[d]=a;c--;h()}),g=mxUtils.bind(this,function(){a(b);c--;h()});this.pendingLibraries[b]=!0;var k=b.substring(0,1);if("L"==k)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null==
-b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):g()}))}catch(z){g()}}),0);else if("U"==k){var l=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=l;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(l)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),l))}catch(z){g()}else g()}),function(){g()})}catch(y){g()}}}else{var m=null;"G"==k?null!=
-this.drive&&null!=this.drive.user&&(m=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(m=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(m=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(m=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(m=this.oneDrive);null!=m?m.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(z){g()}}),function(a){g()}):(delete this.pendingLibraries[b],
-g())}}})(m,l)}h()});b(mxSettings.getCustomLibraries(),function(){b((urlParams.clibs||"").split(";"))})}};
+App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=mxUtils.bind(this,function(b,d){var c=0,g=[],h=mxUtils.bind(this,function(){if(0==c){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=g[a]&&this.loadLibrary(g[a]);null!=d&&d()}});if(null!=b)for(var l=0;l<b.length;l++){var m=encodeURIComponent(decodeURIComponent(b[l]));mxUtils.bind(this,
+function(b,d){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){c++;var e=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];g[d]=a;c--;h()}),f=mxUtils.bind(this,function(){a(b);c--;h()});this.pendingLibraries[b]=!0;var k=b.substring(0,1);if("L"==k)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null==
+b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):f()}))}catch(z){f()}}),0);else if("U"==k){var l=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=l;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(l)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),l))}catch(z){f()}else f()}),function(){f()})}catch(w){f()}}}else{var m=null;"G"==k?null!=
+this.drive&&null!=this.drive.user&&(m=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(m=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(m=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(m=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(m=this.oneDrive);null!=m?m.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(z){f()}}),function(a){f()}):(delete this.pendingLibraries[b],
+f())}}})(m,l)}h()});b(mxSettings.getCustomLibraries(),function(){b((urlParams.clibs||"").split(";"))})}};
 App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth=
 "0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),
 this.shareButton=null)}};
@@ -7859,17 +7923,17 @@ App.prototype.save=function(a,b){var c=this.getCurrentFile(),d=mxResources.get("
 b&&b()}),e=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==c.getTitle()?c.save(!0,d,e):c.saveAs(a,d,e)}};
 App.prototype.pickFolder=function(a,b,c){c=null!=c?c:!0;var d=this.spinner.pause();c&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){d();if(a.action==google.picker.Action.PICKED){var c=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(c=a.docs[0].id);b(c)}})):c&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){d();null!=a&&null!=a.value&&0<a.value.length&&(a=a.value[0].id,b(a))})):c&&a==App.MODE_GITHUB&&
 null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){d();b(a)})):c&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){d();b(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
-App.prototype.exportFile=function(a,b,c,d,e,f){e==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(b,d?this.base64ToBlob(a,c):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,f,mxUtils.bind(this,function(a){this.spinner.stop()}),
-mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),c,d,!1):e==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(b,d?this.base64ToBlob(a,c):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,f):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,f,d):e==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(b,d?this.base64ToBlob(a,c):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,f):e==App.MODE_BROWSER&&(c=mxUtils.bind(this,function(){localStorage.setItem(b,a)}),null==localStorage.getItem(b)?
+App.prototype.exportFile=function(a,b,c,d,e,g){e==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(b,d?this.base64ToBlob(a,c):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)}),c,d,!1):e==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(b,d?this.base64ToBlob(a,c):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,d):e==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(b,d?this.base64ToBlob(a,c):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&&(c=mxUtils.bind(this,function(){localStorage.setItem(b,a)}),null==localStorage.getItem(b)?
 c():this.confirm(mxResources.get("replaceIt",[b]),c))};
 App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var b=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,b);this.fname.setAttribute("title",b+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash=
 ""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var b=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),b,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}};
 App.prototype.showAuthDialog=function(a,b,c,d){var e=this.spinner.pause();this.showDialog((new AuthDialog(this,a,b,mxUtils.bind(this,function(a){try{null!=c&&c(a,mxUtils.bind(this,function(){this.hideDialog();e()}))}catch(h){this.editor.setStatus(mxUtils.htmlEntities(h.message))}}))).container,300,b?180:140,!0,!0,mxUtils.bind(this,function(a){null!=d&&d();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
-App.prototype.convertFile=function(a,b,c,d,e,f){var h=b;/\.svg$/i.test(h)||(h=h.substring(0,b.lastIndexOf("."))+d);var l=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(l=!0);if(/\.vsdx?$/i.test(b)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var m=new XMLHttpRequest;m.open("GET",a,!0);l||(m.responseType="blob");m.onload=mxUtils.bind(this,function(){var a=null;l?(a=JSON.parse(m.responseText),a=this.base64ToBlob(a.content,
-"application/octet-stream")):a=new Blob([m.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){e(new LocalFile(this,a,h,!0))}),f,b)});m.send()}else{var g=mxUtils.bind(this,function(c){try{/\.png$/i.test(b)?(temp=this.extractGraphModelFromPng(c),null!=temp?e(new LocalFile(this,temp,h,!0)):e(new LocalFile(this,c,b,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),
-mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?e(new LocalFile(this,a.responseText,h,!0)):null!=f&&f({message:mxResources.get("errorLoadingFile")}))}),b):e(new LocalFile(this,c,h,!0))}catch(n){null!=f&&f(n)}});c=/\.png$/i.test(b)||/\.jpe?g$/i.test(b)||null!=c&&"image/"==c.substring(0,6);l?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(b)?
-"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));g(c)}}else null!=f&&f({code:App.ERROR_UNKNOWN})}),function(){null!=f&&f({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=f&&f({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,g,f,c)}};
+App.prototype.convertFile=function(a,b,c,d,e,g){var h=b;/\.svg$/i.test(h)||(h=h.substring(0,b.lastIndexOf("."))+d);var l=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(l=!0);if(/\.vsdx?$/i.test(b)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var m=new XMLHttpRequest;m.open("GET",a,!0);l||(m.responseType="blob");m.onload=mxUtils.bind(this,function(){var a=null;l?(a=JSON.parse(m.responseText),a=this.base64ToBlob(a.content,
+"application/octet-stream")):a=new Blob([m.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){e(new LocalFile(this,a,h,!0))}),g,b)});m.send()}else{var f=mxUtils.bind(this,function(c){try{/\.png$/i.test(b)?(temp=this.extractGraphModelFromPng(c),null!=temp?e(new LocalFile(this,temp,h,!0)):e(new LocalFile(this,c,b,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),
+mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?e(new LocalFile(this,a.responseText,h,!0)):null!=g&&g({message:mxResources.get("errorLoadingFile")}))}),b):e(new LocalFile(this,c,h,!0))}catch(n){null!=g&&g(n)}});c=/\.png$/i.test(b)||/\.jpe?g$/i.test(b)||null!=c&&"image/"==c.substring(0,6);l?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(b)?
+"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));f(c)}}else null!=g&&g({code:App.ERROR_UNKNOWN})}),function(){null!=g&&g({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=g&&g({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,f,g,c)}};
 App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=mxClient.IS_SVG?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)":
 "url('"+IMAGE_PATH+"/logo-white.png')";this.appIcon.style.backgroundImage=a;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&(a=a.getMode(),a==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":a==App.MODE_DROPBOX?
 this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":a==App.MODE_ONEDRIVE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/onedrive-logo-white.svg)":a==App.MODE_GITHUB?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/github-logo-white.svg)":a==App.MODE_TRELLO&&(this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/trello-logo-white-orange.svg)"))}));mxEvent.addListener(this.appIcon,"mouseout",mxUtils.bind(this,function(){this.appIcon.style.backgroundImage=a}));
@@ -7903,8 +7967,8 @@ null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else thi
 this.userPanel.parentNode.removeChild(this.userPanel)})));var a=null;null!=this.drive&&null!=this.drive.getUser()?a=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?a=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?a=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(a=this.gitHub.getUser());null!=a?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,a.displayName),this.userElement.style.display="block")):
 this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};var editorResetGraph=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);this.graph.pageFormat=mxSettings.getPageFormat()};(function(){var a=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){a.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(a){var b=document.createElement("span");b.setAttribute("title",mxResources.get("help"));b.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;";
 var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);b.appendChild(c);mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(b)}));return b};Menus.prototype.addLinkToItem=function(a,b){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(b))};var b=Menus.prototype.init;Menus.prototype.init=function(){b.apply(this,
-arguments);var a=this.editorUi,c=a.editor.graph,f=mxUtils.bind(c,c.isEnabled),h=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),l=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),m=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
-"drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),g=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||a.isOffline()||((new Image).src=IMAGE_PATH+
+arguments);var a=this.editorUi,c=a.editor.graph,g=mxUtils.bind(c,c.isEnabled),h=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),l=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),m=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
+"drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),f=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||a.isOffline()||((new Image).src=IMAGE_PATH+
 "/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&
 a.exportSvg(b/100,c,d,e,f,g,h,!k,l)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var d=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,c.isSelectionEmpty()),g=a.addCheckbox(b,
 mxResources.get(d?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",d?!g.checked:null,null,!f.checked,d?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"),
@@ -7917,14 +7981,14 @@ DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||
 fileSize:c.size,getXml:function(d,e){a.dropbox.readFile({path:b.stat.path_lower,rev:c.rev},d,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+c.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(c.entries[e]);var f=new RevisionDialog(a,d);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(A){a.handleError(A)}}));c["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop();
 for(var d=0;d<c.items.length;d++)(function(d){d.getXml=function(e,f){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:c.items[c.items.length-1]===d?b.desc.headRevisionId:d.id}),function(b){a.drive.getXmlFile(b,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};d.getUrl=function(){return a.getUrl(window.location.pathname+"?rev="+d.id+"&chrome=0&edit=_blank")+window.location.hash}})(c.items[d]);d=new RevisionDialog(a,c.items);a.showDialog(d.container,
 640,480,!0,!0);d.init()},function(b){a.spinner.stop();a.handleError(b)})});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,a.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(a.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(b)))});
-if("undefined"!==typeof MathJax){var k=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();c.model.execute(b)});k.setToggleAction(!0);k.setSelectedCallback(function(){return a.isMathEnabled()});k.isEnabled=f}isLocalStorage&&(k=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),k.setToggleAction(!0),k.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
+if("undefined"!==typeof MathJax){var k=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();c.model.execute(b)});k.setToggleAction(!0);k.setSelectedCallback(function(){return a.isMathEnabled()});k.isEnabled=g}isLocalStorage&&(k=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),k.setToggleAction(!0),k.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
 var n=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});n.setToggleAction(!0);n.setSelectedCallback(function(){return n.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=c.getSelectionCells(),d=[],e=0;e<b.length;e++)c.getModel().isVertex(b[e])&&d.push(b[e]);0<d.length&&(b=new EditGeometryDialog(a,d),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var q="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
 a.actions.addAction("copyStyle",function(){var b=c.view.getState(c.getSelectionCell());if(c.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=c.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],d=0;d<b.length;d++){var e=b[d],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==a.copiedStyle[g]&&"none"==e&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(c.isEnabled()&&!c.isSelectionEmpty()&&
 null!=a.copiedStyle){c.getModel().beginUpdate();try{for(var b=c.getSelectionCells(),d=0;d<b.length;d++)for(var e=c.view.getState(b[d]),f=0;f<q.length;f++){var g=q[f],h=a.copiedStyle[g];e.style[g]!=h&&c.setCellStyles(g,h,[b[d]])}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container,
 320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!k,l)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,
 function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||
-a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));k=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){c.setShadowVisible(!c.shadowVisible)}));k.setToggleAction(!0);k.setSelectedCallback(function(){return c.shadowVisible});var t=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){t||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){t=!1}),
-t=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?
+a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));k=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){c.setShadowVisible(!c.shadowVisible)}));k.setToggleAction(!0);k.setSelectedCallback(function(){return c.shadowVisible});var u=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){u||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){u=!1}),
+u=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?
 a.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?a.openLink("shortcuts.svg"):a.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showDialog(b.container,610,360,!0,!0);b.init()});a.actions.addAction("quickStart...",function(){a.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});k=a.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=
 new TagsWindow(a,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));k.setToggleAction(!0);k.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&
 this.tagsWindow.window.isVisible()}));k=a.actions.addAction("find...",mxUtils.bind(this,function(){null==this.findWindow?(this.findWindow=new FindWindow(a,document.body.offsetWidth-300,110,240,140),this.findWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("find"))):this.findWindow.window.setVisible(!this.findWindow.window.isVisible())}));
@@ -7956,43 +8020,44 @@ function(b){c.isEditing()&&c.stopEditing();var d="0"!=urlParams.pages||null!=a.p
 a.actions.addAction("exit",function(){var b=function(){a.editor.modified=!1;var b="json"==urlParams.proto?JSON.stringify({event:"exit",modified:a.editor.modified}):"";(window.opener||window.parent).postMessage(b,"*")};a.editor.modified?a.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(b,c){a.isExportToCanvas()?(this.addMenuItems(b,["exportPng"],c),a.jpgSupported&&this.addMenuItems(b,
 ["exportJpg"],c)):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPng","exportJpg"],c);this.addMenuItems(b,["exportSvg","-"],c);a.isOffline()||a.printPdfExport?this.addMenuItems(b,["exportPdf"],c):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPdf"],c);mxClient.IS_IE11||mxClient.IS_IE||"undefined"===typeof VsdxExport&&a.isOffline()||this.addMenuItems(b,["exportVsdx"],c);this.addMenuItems(b,["-","exportHtml","exportXml","exportUrl"],
 c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(b,d){function e(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=k(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())),
-c="image/svg+xml");f(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var f=mxUtils.bind(this,function(b,d,e){var f=c.view,g=c.getGraphBounds(),h=c.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*c.gridSize)),k=c.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*c.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,l=mxUtils.bind(this,function(){a.resizeImage(f,
+c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,d,e){var f=c.view,g=c.getGraphBounds(),h=c.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*c.gridSize)),k=c.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*c.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,l=mxUtils.bind(this,function(){a.resizeImage(f,
 b,mxUtils.bind(this,function(f,l,m){f=g?Math.min(1,Math.min(a.maxImageSize/l,a.maxImageSize/m)):1;a.importFile(b,d,h,k,Math.round(l*f),Math.round(m*f),e,function(b){a.spinner.stop();c.setSelectionCells(b);c.scrollCellToVisible(c.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;l()}):l()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,d,h,k,0,0,e,function(b){a.spinner.stop();c.setSelectionCells(b);
 c.scrollCellToVisible(c.getSelectionCell())})}),k=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){e(a.drive)},d):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+
 "...",null,function(){e(a.gitHub)},d);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){e(a.dropbox)},d):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){e(a.oneDrive)},d):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,
-function(){e(a.trello)},d):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},d);a.isOffline()||(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),
-function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){f(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d));a.showCsvImport&&b.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},d)})).isEnabled=
-f;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);
-d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));k=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=
-this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==
-DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}}));k.isEnabled=function(){return this.enabled&&f.apply(this,arguments)};k.visible="1"!=urlParams.embed;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?
-b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,
-function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,
-function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));
-a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||
-this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));var v="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),y=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow=
-"auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},z=function(a,b,d,e){var f=c.isMouseInsertPoint()?c.getInsertPoint():c.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,d),e);a.vertex=!0;c.getModel().beginUpdate();try{a=c.addCell(a),c.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{c.getModel().endUpdate()}c.scrollCellToVisible(a);c.setSelectionCell(a);c.container.focus();c.editAfterInsert&&c.startEditing(a);return a};a.actions.addAction("insertText",
-function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&c.startEditingAtCell(z("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},null,null,Editor.ctrlKey+"+Shift+X").isEnabled=f;a.actions.addAction("insertRectangle",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&z("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=f;a.actions.addAction("insertEllipse",function(){c.isEnabled()&&
-!c.isCellLocked(c.getDefaultParent())&&z("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;a.actions.addAction("insertRhombus",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&z("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=f;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=
-0;c<v.length;c++)"-"==v[c]?a.addSeparator(b):y(a,b,mxResources.get(v[c])+"...",v[c])})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){a.loadFile(d.id)},c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(b,
-c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+
-"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickFile(App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&
-"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?
-"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+
-"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+
-"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)})),this.put("openLibraryFrom",new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+
-"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},
-c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(A){a.handleError(A,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),
-a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",
-new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);mxClient.IS_SVG&&
-(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=
-urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",
-b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b,"- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],
-c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==
-OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,
-["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var c=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(a,b){if(480>=screen.width&&a==this.get("help")){b.style.paddingRight="0px";b.style.paddingLeft="0px";b.innerHTML="";var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);b.appendChild(d)}c.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
+function(){e(a.trello)},d):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},d);a.isOffline()||(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),
+function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){g(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})).isEnabled=g;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),
+null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();
+a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));k=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,
+c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;
+a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}}));k.isEnabled=function(){return this.enabled&&g.apply(this,arguments)};k.visible="1"!=urlParams.embed;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",
+[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,
+function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),
+mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));
+this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));
+var v=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},w=function(a,b,d,e){var f=c.isMouseInsertPoint()?c.getInsertPoint():c.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,d),e);a.vertex=
+!0;c.getModel().beginUpdate();try{a=c.addCell(a),c.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{c.getModel().endUpdate()}c.scrollCellToVisible(a);c.setSelectionCell(a);c.container.focus();c.editAfterInsert&&c.startEditing(a);return a};a.actions.addAction("insertText",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&c.startEditingAtCell(w("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},
+null,null,Editor.ctrlKey+"+Shift+X").isEnabled=g;a.actions.addAction("insertRectangle",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&w("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=g;a.actions.addAction("insertEllipse",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&w("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=g;a.actions.addAction("insertRhombus",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&
+w("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=g;var z=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):v(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);b.addSeparator(c);this.addSubmenu("layout",b,c);b.addSeparator(c);z(b,c,["fromText","plantUml","-","formatSql"]);b.addItem(mxResources.get("csv")+
+"...",null,function(){a.showImportCsvDialog()},c)})));this.put("layout",new Menu(mxUtils.bind(this,function(a,b){z(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){a.loadFile(d.id)},
+c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+
+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickFile(App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+
+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&
+(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",
+null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+
+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)})),this.put("openLibraryFrom",new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+
+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=
+a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+
+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=
+c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(A){a.handleError(A,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));
+this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);
+mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,
+"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",
+b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b,"- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],
+c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],
+c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==
+DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var c=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(a,b){if(480>=screen.width&&a==this.get("help")){b.style.paddingRight="0px";b.style.paddingLeft="0px";b.innerHTML="";var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",
+Editor.helpImage);b.appendChild(d)}c.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
 DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,c){this.ui=a;this.page=b;this.previous=this.name=c}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
 function MovePage(a,b,c){this.ui=a;this.oldIndex=b;this.newIndex=c}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
 function SelectPage(a,b){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b))}
@@ -8004,8 +8069,8 @@ EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mx
 null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var c=null,d=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=c&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=
 a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),c=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||
 Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var c=b.getProperty("edit").changes,e=0;e<c.length;e++)if(c[e]instanceof SelectPage||c[e]instanceof RenamePage||c[e]instanceof MovePage||c[e]instanceof mxRootChange){d();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
-Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),c=a.getAttribute("pageScale"),d=a.getAttribute("pageWidth"),e=a.getAttribute("pageHeight"),f=a.getAttribute("background"),h=a.getAttribute("backgroundImage"),h=null!=h&&0<h.length?JSON.parse(h):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
-a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=f&&0<f.length?f:this.defaultGraphBackground,backgroundImage:null!=h?new mxImage(h.src,h.width,h.height):null,pageScale:null!=c?c:mxGraph.prototype.pageScale,pageFormat:null!=d&&null!=e?new mxRectangle(0,0,parseFloat(d),parseFloat(e)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
+Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),c=a.getAttribute("pageScale"),d=a.getAttribute("pageWidth"),e=a.getAttribute("pageHeight"),g=a.getAttribute("background"),h=a.getAttribute("backgroundImage"),h=null!=h&&0<h.length?JSON.parse(h):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
+a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=g&&0<g.length?g:this.defaultGraphBackground,backgroundImage:null!=h?new mxImage(h.src,h.width,h.height):null,pageScale:null!=c?c:mxGraph.prototype.pageScale,pageFormat:null!=d&&null!=e?new mxRectangle(0,0,parseFloat(d),parseFloat(e)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==
 a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
 Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
 arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
@@ -8021,8 +8086,8 @@ EditorUi.prototype.duplicatePage=function(a,b){var c=this.editor.graph,d=null;c.
 EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var b=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&this.editor.graph.model.execute(new RenamePage(this,a,b))}),mxResources.get("rename"));this.showDialog(b.container,300,80,!0,!0);b.init()}return a};EditorUi.prototype.movePage=function(a,b){this.editor.graph.model.execute(new MovePage(this,a,b))};
 EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a};
 EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var c=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
-c)/this.pages.length)+1),e=null,f=0;f<this.pages.length;f++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",d.style.fontWeight="bold",d.style.borderTopStyle="none"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),e=c):mxEvent.consume(b)}));mxEvent.addListener(d,
-"dragend",mxUtils.bind(this,function(a){e=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=e&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=e&&c!=e&&this.movePage(e,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(f,this.createTabForPage(this.pages[f],d,this.pages[f]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);
+c)/this.pages.length)+1),e=null,g=0;g<this.pages.length;g++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",d.style.fontWeight="bold",d.style.borderTopStyle="none"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),e=c):mxEvent.consume(b)}));mxEvent.addListener(d,
+"dragend",mxUtils.bind(this,function(a){e=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=e&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=e&&c!=e&&this.movePage(e,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(g,this.createTabForPage(this.pages[g],d,this.pages[g]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);
 d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-c){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var h=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");h.style.position="absolute";h.style.right=this.editor.chromeless?"29px":"55px";h.style.fontSize="13pt";this.tabContainer.appendChild(h);var l=this.createControlTab(4,
 "&nbsp;&#10095;");l.style.position="absolute";l.style.right=this.editor.chromeless?"0px":"29px";l.style.fontSize="13pt";this.tabContainer.appendChild(l);var m=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=m+"px";mxEvent.addListener(h,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,m-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(h,
 0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(l,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,m-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
@@ -8034,51 +8099,51 @@ function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,funct
 null,mxUtils.bind(this,function(){this.renamePage(d,d.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(d,mxResources.get("copyOf",[d.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var d=mxEvent.getClientX(a),e=mxEvent.getClientY(a);b.popup(d,e,null,a);this.setCurrentMenu(b);
 mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a};
 EditorUi.prototype.createTabForPage=function(a,b,c){c=this.createTab(c);var d=a.getName();c.setAttribute("title",d);mxUtils.write(c,d);c.style.maxWidth=b+"px";c.style.width=b+"px";this.addTabListeners(a,c);42<b&&(c.style.textOverflow="ellipsis");return c};
-EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var c=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,e=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;e=a==this.currentPage;c.isMouseDown||e||this.selectPage(a)}),null,mxUtils.bind(this,function(f){if(c.isEnabled()&&!c.isMouseDown&&(mxEvent.isTouchEvent(f)&&e||mxEvent.isPopupTrigger(f))){c.popupMenuHandler.hideMenu();
-this.hideCurrentMenu();if(!mxEvent.isTouchEvent(f)||!d){var h=new mxPopupMenu(this.createPageMenu(a));h.div.className+=" geMenubarMenu";h.smartSeparators=!0;h.showDisabled=!0;h.autoExpand=!0;h.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(h,arguments);this.resetCurrentMenu();h.destroy()});var l=mxEvent.getClientX(f),m=mxEvent.getClientY(f);h.popup(l,m,null,f);this.setCurrentMenu(h,b)}mxEvent.consume(f)}}))};
+EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var c=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,e=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;e=a==this.currentPage;c.isMouseDown||e||this.selectPage(a)}),null,mxUtils.bind(this,function(g){if(c.isEnabled()&&!c.isMouseDown&&(mxEvent.isTouchEvent(g)&&e||mxEvent.isPopupTrigger(g))){c.popupMenuHandler.hideMenu();
+this.hideCurrentMenu();if(!mxEvent.isTouchEvent(g)||!d){var h=new mxPopupMenu(this.createPageMenu(a));h.div.className+=" geMenubarMenu";h.smartSeparators=!0;h.showDisabled=!0;h.autoExpand=!0;h.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(h,arguments);this.resetCurrentMenu();h.destroy()});var l=mxEvent.getClientX(g),m=mxEvent.getClientY(g);h.popup(l,m,null,g);this.setCurrentMenu(h,b)}mxEvent.consume(g)}}))};
 EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);c.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);c.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);c.addSeparator(d);c.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
 mxResources.get("copyOf",[a.getName()]))}),d)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};mxCodecRegistry.register(a)})();
 (function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,c,d){d.setAttribute("page",c.page.getId());return d};a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.page=a.ui.getPageById(c.getAttribute("page"));d.previous=d.name;return d};mxCodecRegistry.register(a)})();
 (function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,c,d){d.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(d.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,d));return d};a.beforeDecode=function(a,c,d){d.ui=a.ui;d.relatedPage=d.ui.getPageById(c.getAttribute("relatedPage"));if(null==d.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",c.getAttribute("relatedPage"));
-b.setAttribute("name",c.getAttribute("name"));d.relatedPage=new DiagramPage(b);c=c.cloneNode(!0);b=c.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var f=b.getAttribute("id");null==a.lookup(f)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return c};a.afterDecode=function(a,c,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells;
-Graph.prototype.foldCells=function(a,c,d,l,m){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var e=d.slice(),f=[],h=0;h<d.length;h++){var q=this.view.getState(d[h]),t=null!=q?q.style:this.getCellStyle(d[h]);"1"==mxUtils.getValue(t,"treeFolding","0")&&(this.traverse(d[h],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=d[h]&&f.push(a);return a==d[h]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[h],
-a))}for(h=0;h<f.length;h++)this.model.setVisible(f[h],!a);d=e;d=b.apply(this,arguments)}finally{this.model.endUpdate()}return d};var c=EditorUi.prototype.init;EditorUi.prototype.init=function(){c.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return v.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=v.getParent(a),b=p.view.getState(a),p.view.getState(a),b="tree"==(null!=b?b.style:p.getCellStyle(a)).containerType);
+b.setAttribute("name",c.getAttribute("name"));d.relatedPage=new DiagramPage(b);c=c.cloneNode(!0);b=c.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var g=b.getAttribute("id");null==a.lookup(g)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return c};a.afterDecode=function(a,c,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells;
+Graph.prototype.foldCells=function(a,c,d,l,m){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var e=d.slice(),g=[],h=0;h<d.length;h++){var q=this.view.getState(d[h]),u=null!=q?q.style:this.getCellStyle(d[h]);"1"==mxUtils.getValue(u,"treeFolding","0")&&(this.traverse(d[h],!0,mxUtils.bind(this,function(a,b){null!=b&&g.push(b);a!=d[h]&&g.push(a);return a==d[h]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[h],
+a))}for(h=0;h<g.length;h++)this.model.setVisible(g[h],!a);d=e;d=b.apply(this,arguments)}finally{this.model.endUpdate()}return d};var c=EditorUi.prototype.init;EditorUi.prototype.init=function(){c.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return v.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=v.getParent(a),b=p.view.getState(a),p.view.getState(a),b="tree"==(null!=b?b.style:p.getCellStyle(a)).containerType);
 return b}function d(a){var b=!1;null!=a&&(a=v.getParent(a),b=p.view.getState(a),p.view.getState(a),b=null!=(null!=b?b.style:p.getCellStyle(a)).childLayout);return b}function l(a){a=p.view.getState(a);if(null!=a){var b=p.getIncomingEdges(a.cell);if(0<b.length&&(b=p.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<
 a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function m(a,b){b=null!=b?b:!0;p.model.beginUpdate();try{var c=p.model.getParent(a),d=p.getIncomingEdges(a),e=p.cloneCells([d[0],a]);p.model.setTerminal(e[0],p.model.getTerminal(d[0],!0),!0);var f=l(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+
 10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);p.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=p.view.getState(a),k=p.view.scale;if(null!=h){var m=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var n=p.getOutgoingEdges(p.model.getTerminal(d[0],
-!0));if(null!=n){for(var v=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,u=g=d=0;u<n.length;u++){var q=p.model.getTerminal(n[u],!1);if(f==l(q)){var t=p.view.getState(q);q!=a&&null!=t&&(v&&b!=t.getCenterX()<h.getCenterX()||!v&&b!=t.getCenterY()<h.getCenterY())&&mxUtils.intersects(m,t)&&(d=10+Math.max(d,(Math.min(m.x+m.width,t.x+t.width)-Math.max(m.x,t.x))/k),g=10+Math.max(g,(Math.min(m.y+m.height,t.y+t.height)-Math.max(m.y,t.y))/k))}}v?g=0:d=0;for(u=0;u<n.length;u++)if(q=p.model.getTerminal(n[u],
-!1),f==l(q)&&(t=p.view.getState(q),q!=a&&null!=t&&(v&&b!=t.getCenterX()<h.getCenterX()||!v&&b!=t.getCenterY()<h.getCenterY()))){var C=[];p.traverse(t.cell,!0,function(a,b){null!=b&&C.push(b);C.push(a);return!0});p.moveCells(C,(b?1:-1)*d,(b?1:-1)*g)}}}return p.addCells(e,c)}finally{p.model.endUpdate()}}function g(a){p.model.beginUpdate();try{var b=l(a),c=p.getIncomingEdges(a),d=p.cloneCells([c[0],a]);p.model.setTerminal(c[0],d[1],!1);p.model.setTerminal(d[0],d[1],!0);p.model.setTerminal(d[0],a,!1);
+!0));if(null!=n){for(var v=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,t=g=d=0;t<n.length;t++){var q=p.model.getTerminal(n[t],!1);if(f==l(q)){var u=p.view.getState(q);q!=a&&null!=u&&(v&&b!=u.getCenterX()<h.getCenterX()||!v&&b!=u.getCenterY()<h.getCenterY())&&mxUtils.intersects(m,u)&&(d=10+Math.max(d,(Math.min(m.x+m.width,u.x+u.width)-Math.max(m.x,u.x))/k),g=10+Math.max(g,(Math.min(m.y+m.height,u.y+u.height)-Math.max(m.y,u.y))/k))}}v?g=0:d=0;for(t=0;t<n.length;t++)if(q=p.model.getTerminal(n[t],
+!1),f==l(q)&&(u=p.view.getState(q),q!=a&&null!=u&&(v&&b!=u.getCenterX()<h.getCenterX()||!v&&b!=u.getCenterY()<h.getCenterY()))){var B=[];p.traverse(u.cell,!0,function(a,b){null!=b&&B.push(b);B.push(a);return!0});p.moveCells(B,(b?1:-1)*d,(b?1:-1)*g)}}}return p.addCells(e,c)}finally{p.model.endUpdate()}}function f(a){p.model.beginUpdate();try{var b=l(a),c=p.getIncomingEdges(a),d=p.cloneCells([c[0],a]);p.model.setTerminal(c[0],d[1],!1);p.model.setTerminal(d[0],d[1],!0);p.model.setTerminal(d[0],a,!1);
 var e=p.model.getParent(a),f=e.geometry,g=[];p.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);p.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);p.moveCells(g,h,k);return p.addCells(d,e)}finally{p.model.endUpdate()}}function k(a){p.model.beginUpdate();try{var b=
 p.model.getParent(a),c=p.getIncomingEdges(a),d=p.cloneCells([c[0],a]);p.model.setTerminal(d[0],a,!0);var c=p.getOutgoingEdges(a),e=b.geometry,f=[];p.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=p.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=p.view.getBounds(f),m=l(a),n=p.view.translate,v=p.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/v-n.x-e.x+10,d[1].geometry.y+=a.geometry.height-
 e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/v-n.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/v-n.y+-e.y+10);return p.addCells(d,b)}finally{p.model.endUpdate()}}function n(a,
 b,c){a=p.getOutgoingEdges(a);c=p.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=p.view.getState(p.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 q(a,b){var c=l(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
-c==mxConstants.DIRECTION_WEST)==d&&c!=b?t.actions.get("selectParent").funct():c==b?(d=p.getOutgoingEdges(a),null!=d&&0<d.length&&p.setSelectionCell(p.model.getTerminal(d[0],!1))):(c=p.getIncomingEdges(a),null!=c&&0<c.length&&(d=n(p.model.getTerminal(c[0],!0),d,a),c=p.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&&p.setSelectionCell(d[c].cell)))))}var t=this,p=t.editor.graph,v=p.getModel();mxResources.parse("selectChildren=Select Children");
-mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var y=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,c,d){y.apply(this,arguments);if(1==p.getSelectionCount()){c=p.getSelectionCell();var e=p.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(p.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(p.getSelectionCell())&&
-(a.addSeparator(),0<p.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};t.actions.addAction("selectChildren",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),
-a=p.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=p.getOutgoingEdges(p.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getIncomingEdges(a);null!=a&&0<a.length&&p.setSelectionCell(p.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants",
+c==mxConstants.DIRECTION_WEST)==d&&c!=b?u.actions.get("selectParent").funct():c==b?(d=p.getOutgoingEdges(a),null!=d&&0<d.length&&p.setSelectionCell(p.model.getTerminal(d[0],!1))):(c=p.getIncomingEdges(a),null!=c&&0<c.length&&(d=n(p.model.getTerminal(c[0],!0),d,a),c=p.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&&p.setSelectionCell(d[c].cell)))))}var u=this,p=u.editor.graph,v=p.getModel();mxResources.parse("selectChildren=Select Children");
+mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var w=u.menus.createPopupMenu;u.menus.createPopupMenu=function(a,c,d){w.apply(this,arguments);if(1==p.getSelectionCount()){c=p.getSelectionCell();var e=p.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(p.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(p.getSelectionCell())&&
+(a.addSeparator(),0<p.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};u.actions.addAction("selectChildren",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+X");u.actions.addAction("selectSiblings",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),
+a=p.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=p.getOutgoingEdges(p.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+S");u.actions.addAction("selectParent",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getIncomingEdges(a);null!=a&&0<a.length&&p.setSelectionCell(p.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");u.actions.addAction("selectDescendants",
 function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),b=[];p.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});p.setSelectionCells(b)}},null,null,"Alt+Shift+T");var z=p.removeCells;p.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];v.isEdge(g)&&c(g)&&(e.push(g),g=v.getTerminal(g,!1));b(g)?(p.traverse(g,!0,
-function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=p.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return z.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var u=p.duplicateCells;p.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=p.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=p.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
-a)}this.model.beginUpdate();try{var h=u.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=p.getIncomingEdges(h[e]),g=p.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,p.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var w=p.moveCells;p.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f);
-if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var v=0;v<a.length;v++)if(b(a[v])||p.model.isEdge(a[v])&&null==p.model.getTerminal(a[v],!0)){f=p.model.getParent(a[v]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var u=p.getIncomingEdges(a[0]);if(0<u.length){var q=p.view.getState(p.model.getTerminal(u[0],!0));if(null!=q){var t=p.view.getState(l);null!=t&&(c=(t.getCenterX()-q.getCenterX())/p.view.scale,d=(t.getCenterY()-q.getCenterY())/p.view.scale)}}}}k=w.apply(this,arguments);
-if(null!=k&&null!=a&&k.length==a.length)for(v=0;v<k.length;v++)if(this.model.isEdge(k[v]))b(l)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[v],!0))&&this.model.setTerminal(k[v],l,!0);else if(b(a[v])&&(u=p.getIncomingEdges(a[v]),0<u.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],l,!0);else if(0==p.getIncomingEdges(k[v]).length){m=l;if(null==m||m==p.model.getParent(a[v]))m=p.model.getTerminal(u[0],!0);e=this.cloneCells([u[0]])[0];this.addEdge(e,
-p.getDefaultParent(),m,k[v])}}finally{this.model.endUpdate()}return k};if(null!=t.sidebar){var E=t.sidebar.dropAndConnect;t.sidebar.dropAndConnect=function(a,c,d,e){var f=p.model,g=null;f.beginUpdate();try{if(g=E.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=p.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:t.actions.get("selectChildren"),
-84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},x=t.onKeyDown;t.onKeyDown=function(a){try{if(p.isEnabled()&&!p.isEditing()&&b(p.getSelectionCell())&&1==p.getSelectionCount()){var c=null;0<p.getIncomingEdges(p.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?g(p.getSelectionCell()):k(p.getSelectionCell()):13==a.which&&(c=m(p.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&p.model.isEdge(c[0])?p.setSelectionCell(p.model.getTerminal(c[0],
-!1)):p.setSelectionCell(c[c.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(p.view.getState(p.getSelectionCell())),p.startEditingAtCell(p.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=D[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(p.getSelectionCell(),
-mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(p.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(G){console.log("error",G)}mxEvent.isConsumed(a)||x.apply(this,arguments)};var F=p.connectVertex;p.connectVertex=function(a,c,d,e,f,h){var n=p.getIncomingEdges(a);return b(a)&&0<n.length?(d=l(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?k(a):e==f?g(a):m(a,c!=mxConstants.DIRECTION_NORTH&&
-c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,d,e,f,h)};p.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&p.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
+function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=p.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return z.apply(this,arguments)};u.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var t=p.duplicateCells;p.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=p.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=p.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
+a)}this.model.beginUpdate();try{var h=t.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=p.getIncomingEdges(h[e]),g=p.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,p.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var y=p.moveCells;p.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f);
+if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var v=0;v<a.length;v++)if(b(a[v])||p.model.isEdge(a[v])&&null==p.model.getTerminal(a[v],!0)){f=p.model.getParent(a[v]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var t=p.getIncomingEdges(a[0]);if(0<t.length){var q=p.view.getState(p.model.getTerminal(t[0],!0));if(null!=q){var u=p.view.getState(l);null!=u&&(c=(u.getCenterX()-q.getCenterX())/p.view.scale,d=(u.getCenterY()-q.getCenterY())/p.view.scale)}}}}k=y.apply(this,arguments);
+if(null!=k&&null!=a&&k.length==a.length)for(v=0;v<k.length;v++)if(this.model.isEdge(k[v]))b(l)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[v],!0))&&this.model.setTerminal(k[v],l,!0);else if(b(a[v])&&(t=p.getIncomingEdges(a[v]),0<t.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(t[0],!0))&&this.model.setTerminal(t[0],l,!0);else if(0==p.getIncomingEdges(k[v]).length){m=l;if(null==m||m==p.model.getParent(a[v]))m=p.model.getTerminal(t[0],!0);e=this.cloneCells([t[0]])[0];this.addEdge(e,
+p.getDefaultParent(),m,k[v])}}finally{this.model.endUpdate()}return k};if(null!=u.sidebar){var E=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(a,c,d,e){var f=p.model,g=null;f.beginUpdate();try{if(g=E.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=p.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:u.actions.get("selectChildren"),
+84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},x=u.onKeyDown;u.onKeyDown=function(a){try{if(p.isEnabled()&&!p.isEditing()&&b(p.getSelectionCell())&&1==p.getSelectionCount()){var c=null;0<p.getIncomingEdges(p.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?f(p.getSelectionCell()):k(p.getSelectionCell()):13==a.which&&(c=m(p.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&p.model.isEdge(c[0])?p.setSelectionCell(p.model.getTerminal(c[0],
+!1)):p.setSelectionCell(c[c.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(p.view.getState(p.getSelectionCell())),p.startEditingAtCell(p.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=D[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(p.getSelectionCell(),
+mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(p.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(F){console.log("error",F)}mxEvent.isConsumed(a)||x.apply(this,arguments)};var J=p.connectVertex;p.connectVertex=function(a,c,d,e,g,h){var n=p.getIncomingEdges(a);return b(a)&&0<n.length?(d=l(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?k(a):e==g?f(a):m(a,c!=mxConstants.DIRECTION_NORTH&&
+c!=mxConstants.DIRECTION_WEST)):J.call(this,a,c,d,e,g,h)};p.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&p.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
 this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);
-this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var B=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){B.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=
-this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",
+this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var C=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){C.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=
+this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var G=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){G.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",
 function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");
 b.vertex=!0;var c=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");
-e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);e.insertEdge(f,!1);var q=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");q.vertex=!0;var t=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-t.geometry.relative=!0;t.edge=!0;b.insertEdge(t,!0);q.insertEdge(t,!1);var p=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");p.vertex=!0;var v=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-v.geometry.relative=!0;v.edge=!0;b.insertEdge(v,!0);p.insertEdge(v,!1);a.insert(d);a.insert(f);a.insert(t);a.insert(v);a.insert(b);a.insert(c);a.insert(e);a.insert(q);a.insert(p);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
+e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);var q=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");q.vertex=!0;var u=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+u.geometry.relative=!0;u.edge=!0;b.insertEdge(u,!0);q.insertEdge(u,!1);var p=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");p.vertex=!0;var v=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+v.geometry.relative=!0;v.edge=!0;b.insertEdge(v,!0);p.insertEdge(v,!1);a.insert(d);a.insert(g);a.insert(u);a.insert(v);a.insert(b);a.insert(c);a.insert(e);a.insert(q);a.insert(p);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
 a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
 b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,
 0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Organization",
 new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(c,"treeRoot","1");c.vertex=!0;var d=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");d.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");e.geometry.relative=!0;e.edge=!0;
-c.insertEdge(e,!0);d.insertEdge(e,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");n.geometry.relative=!0;n.edge=!0;c.insertEdge(n,!0);f.insertEdge(n,!1);a.insert(e);a.insert(n);a.insert(c);a.insert(d);a.insert(f);return sb.createVertexTemplateFromCells([a],
+c.insertEdge(e,!0);d.insertEdge(e,!1);var g=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");g.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");n.geometry.relative=!0;n.edge=!0;c.insertEdge(n,!0);g.insertEdge(n,!1);a.insert(e);a.insert(n);a.insert(c);a.insert(d);a.insert(g);return sb.createVertexTemplateFromCells([a],
 a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
 a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
 a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
@@ -8097,10 +8162,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>')
 HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,
 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=
 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=
-25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var f=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){f.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var h=EditorUi.prototype.updateActionStates;
-EditorUi.prototype.updateActionStates=function(){h.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var l=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>c&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):l.apply(this,arguments)};var m=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){m.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
-a.style.cssText="display:inline-block;position:relative;margin-right:4px;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
-"no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var g=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){g.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
+25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var g=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){g.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var h=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=
+function(){h.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var l=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>c&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):l.apply(this,arguments)};var m=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){m.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;";
+a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";
+a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var f=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){f.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
 a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));
 b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
@@ -8109,7 +8174,7 @@ mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResou
 a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var n=
 EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&&
 (this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);n.apply(this,arguments)};var q=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
-function(a){q.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
+function(a){q.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var u=Menus.prototype.init;Menus.prototype.init=function(){u.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
 "...";c.actions.get("insertRectangle").label=mxResources.get("rectangle");c.actions.get("insertEllipse").label=mxResources.get("ellipse");c.actions.get("insertRhombus").label=mxResources.get("rhombus");c.actions.get("insertImage").label=mxResources.get("image")+"...";c.actions.get("insertLink").label=mxResources.get("link")+"...";c.actions.get("createShape").label=mxResources.get("shape")+"...";c.actions.get("outline").label=mxResources.get("outline")+"...";c.actions.get("layers").label=mxResources.get("layers")+
 "...";c.actions.put("importFile",new Action("File...",function(){d.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&c.importFiles(a.files,null,null,c.maxImageSize)});a.click()}));c.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){d.popupMenuHandler.hideMenu();c.showImportCsvDialog()}));c.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a=
 new ParseDialog(c,"Insert from Text");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(c,"Insert from Text","formatSql");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){b(c)}));c.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(c)}));EditorUi.enablePlantUml&&c.actions.put("plantUml",
@@ -8140,6 +8205,6 @@ f.buttonContainer;e=this.menus.get("language");null!=e&&!mxClient.IS_CHROMEAPP&&
 l.style.backgroundPosition="center center",l.style.backgroundRepeat="no-repeat",l.style.backgroundSize="24px 24px",l.style.position="absolute",l.style.height="24px",l.style.width="24px",l.style.zIndex="1",l.style.top="11px",l.style.right="14px",mxUtils.setOpacity(l,30),h.appendChild(l));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
 e=f.diagramContainer.parentNode;m=document.createElement("div");m.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";n=f.menus.get("viewZoom");if(null!=n){this.tabContainer.style.right="70px";l=k.addMenu("100%",n.funct);l.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");l.style.whiteSpace="nowrap";l.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";l.style.backgroundPosition=
 "right 6px center";l.style.backgroundRepeat="no-repeat";l.style.paddingRight="10px";l.style.display="block";l.style.position="absolute";l.style.textDecoration="none";l.style.textDecoration="none";l.style.right="0px";l.style.bottom="0px";l.style.overflow="hidden";l.style.textAlign="center";l.style.color="#000";l.style.fontSize="12px";l.style.color="#707070";l.style.width="59px";l.style.borderTop="1px solid lightgray";l.style.borderLeft="1px solid lightgray";l.style.height=parseInt(f.tabContainer.style.height)-
-1+"px";l.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";m.appendChild(l);n=mxUtils.bind(this,function(){l.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,n);f.editor.addListener("resetGraphView",n);f.editor.addListener("pageSelected",n);var t=f.setGraphEnabled;f.setGraphEnabled=function(){t.apply(this,arguments);null!=this.tabContainer&&(l.style.visibility=this.tabContainer.style.visibility)}}m.appendChild(f.tabContainer);
+1+"px";l.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";m.appendChild(l);n=mxUtils.bind(this,function(){l.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,n);f.editor.addListener("resetGraphView",n);f.editor.addListener("pageSelected",n);var u=f.setGraphEnabled;f.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(l.style.visibility=this.tabContainer.style.visibility)}}m.appendChild(f.tabContainer);
 m.appendChild(h);m.appendChild(f.diagramContainer);e.appendChild(m);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
 (function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();
diff --git a/src/main/webapp/js/atlas-viewer.min.js b/src/main/webapp/js/atlas-viewer.min.js
index 8253a1e3e595a7da41873f109bb5e04bf8a3f2dd..4c35d9f46975528e0b4545ea84b593ba08c6806c 100644
--- a/src/main/webapp/js/atlas-viewer.min.js
+++ b/src/main/webapp/js/atlas-viewer.min.js
@@ -2708,139 +2708,139 @@ this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnab
 (function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
-!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(r){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=
-b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(r){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");
-EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(r){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=
-a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=
-function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
-"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
-Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
-d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,
-!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1};var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("&lt;mxfile ");if(0<=c){var e=d.lastIndexOf("&lt;/mxfile&gt;");e>c&&(b=d.substring(c,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
-null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;
-d.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=
-a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=
-function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!0;var d,f=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
-g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
-App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=
-this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
-h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
-return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom",
-"1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
-">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':
-'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,r){null!=r&&(r=r.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,
-this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length?
-mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!=
-d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),
-f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c=
-this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==
-mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};
-EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);
-return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,
-null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),
-mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
-(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=
-this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+
-n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();
-for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),
-a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),
-b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));
-this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+
-"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=
-App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+
-(null!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=
-function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=
-function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=
-a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=
-this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};
-EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,
-"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,
-!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+=
-"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=
-k.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position="relative";var x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",
-mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=
-this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+
-"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||
-(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
-w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;
-b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),
-null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&
-null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";
-a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+
-this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);
-this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
-null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
-"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,
-"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,
-mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);l.style.paddingRight=18*t.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
-if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?
-(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
-5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
-Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
-Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
-"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
-!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
-a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=
-this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
-else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=
-mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};EditorUi.prototype.alert=
-function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
-EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
-return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};
-EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,r){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
-"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},
-0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),
-n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");
-null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,
-a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
-b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=
-this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color=
-"#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,
-function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+
-1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
-d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,
-function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),
-mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,
-mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?
-d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
-mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled",
-"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&&
-(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==
-e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d},
-getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft=
-"8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value",
-"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||
-mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,n,u){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&
-f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1));
-a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;
-c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");
-mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value",
-"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
-g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight=
-"12px";p.value="100%";d.appendChild(p);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?
-I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");
-mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
-var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));
-m.appendChild(r);mxEvent.addListener(r,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),
-l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;
-if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled",
-"disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():
-document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),
-!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=
-this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,mxResources.get("borderWidth")+":");
-var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight=
-"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop=
-"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility=
-"hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
-mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,
-!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));
-v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),
-null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
-EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
+!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(r){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
+null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(r){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(r){}})();
+EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();
+this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,
+length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize="9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight=
+"10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,
+b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+
+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1};
+var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("&lt;mxfile ");if(0<=c){var e=d.lastIndexOf("&lt;/mxfile&gt;");e>c&&(b=d.substring(c,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=
+function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");
+if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),
+this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!0;var d,f=null;null==c||
+c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",
+navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=
+function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),
+e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());
+var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():
+b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=
+r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?
+'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+
+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,r){null!=r&&(r=r.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
+">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+
+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=
+d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",
+[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!=d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&
+0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,
+a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c=this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",
+a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=
+0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=
+null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,
+h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",
+mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});
+return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,
+t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+
+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=
+I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};
+EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&
+0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();
+this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();
+this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);if(EditorUi.enableLogging&&
+!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?
+window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=
+function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=
+function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);
+delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=
+JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:
+null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";
+"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=
+this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+="aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:
+a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=k.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position=
+"relative";var x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),
+null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",
+v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,
+function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,
+d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=
+p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",
+k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),
+p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&
+(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,
+0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,
+c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,
+0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,
+mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));
+x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),
+c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);l.style.paddingRight=18*t.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=
+64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top=
+"-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=
+3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=
+null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage=
+"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};
+EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display="none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,
+!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
+this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,
+function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=
+typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),
+a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=
+function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=
+b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
+b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&
+(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,r){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),
+c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],
+10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
+c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&
+(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,
+mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
+window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=
+null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign=
+"center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);
+this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";
+a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),
+Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=
+a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&
+299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
+EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",
+m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=
+document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=
+function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");
+c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||
+b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");
+f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=
+mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,n,u){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+
+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
+this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1));a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
+b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=
+a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
+m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value","copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=
+document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,
+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="12px";p.value="100%";d.appendChild(p);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();
+z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};
+EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",
+m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");
+r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));m.appendChild(r);mxEvent.addListener(r,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));
+this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",
+q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";
+z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=
+q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,
+300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width=
+"60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=
+l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked",
+"checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,
+J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility="hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,
+u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?
+(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
+function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");
+a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),
+f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
+b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
 (k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
 (k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+
 " "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"==a.nodeName){var c=a.getElementsByTagName("diagram");if(0<
@@ -3006,7 +3006,7 @@ null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.page
 a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||
 Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
 Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
-a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
+a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==
 a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
 Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
 arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
@@ -3098,10 +3098,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>')
 HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,
 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=
 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=
-25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var q=EditorUi.prototype.updateActionStates;
-EditorUi.prototype.updateActionStates=function(){q.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var p=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):p.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
-a.style.cssText="display:inline-block;position:relative;margin-right:4px;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
-"no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
+25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var q=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=
+function(){q.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var p=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):p.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;";
+a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";
+a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
 a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));
 b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
@@ -3143,7 +3143,7 @@ d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText=
 "right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
 1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);q=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
 p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
 Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.allowZoomIn=!1;
 GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;
 GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled=
diff --git a/src/main/webapp/js/atlas.min.js b/src/main/webapp/js/atlas.min.js
index fdb990d5279c86bdd792ba0e338b047f8157aad2..59e63de4d551dd0ede89d654210e92c688863d06 100644
--- a/src/main/webapp/js/atlas.min.js
+++ b/src/main/webapp/js/atlas.min.js
@@ -3243,9 +3243,9 @@ d[b],a+"/rack/"+d[b].toLowerCase()+".xml",";html=1;labelPosition=right;align=lef
 this.addStencilPalette("pid"+k[b],"Proc. Eng. / "+k[b],a+"/pid/"+k[b].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(b=0;b<q.length;b++)"Model Elements"==q[b]?this.addSysMLModelElementsPalette():"Blocks"==q[b]?this.addSysMLBlocksPalette():"Ports and Flows"==q[b]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[b]?this.addSysMLConstraintBlocksPalette():"Activities"==
 q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteractionsPalette():"State Machines"==q[b]?this.addSysMLStateMachinesPalette():"Use Cases"==q[b]?this.addSysMLUseCasesPalette():"Allocations"==q[b]?this.addSysMLAllocationsPalette():"Requirements"==q[b]?this.addSysMLRequirementsPalette():"Profiles"==q[b]?this.addSysMLProfilesPalette():"Stereotypes"==q[b]&&this.addSysMLStereotypesPalette();for(b=0;b<p.length;b++)"Message Construction"==p[b]?this.addEipMessageConstructionPalette():
 "Message Routing"==p[b]?this.addEipMessageRoutingPalette():"Message Transformation"==p[b]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[b]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[b]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[b]?this.addEipMessagingSystemsPalette():"System Management"==p[b]&&this.addEipSystemManagementPalette();for(b=0;b<n.length;b++)this.addStencilPalette("cisco"+n[b],"Cisco / "+n[b],a+"/cisco/"+n[b].toLowerCase().replace(/ /g,
-"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette():"Chips"==
-r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette():"Steppers"==
-r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this,
+"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette():
+"Chips"==r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette():
+"Steppers"==r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this,
 function(b,a,c,e,l){if(null==m||0>mxUtils.indexOf(m,a))c=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)),
 this.tagIndex=null);this.editorUi.isOffline()||0!=e||this.editorUi.logEvent({category:"Sidebar",action:"search",label:a});null!=ICONSEARCH_PATH&&(d=mxUtils.bind(this,function(b,d,f,g){!this.editorUi.isOffline()&&b.length<=c/4?(f=e-Math.ceil((d-c/4)/c),mxUtils.get(ICONSEARCH_PATH+"?v=2&q="+encodeURIComponent(a)+"&p="+f+"&c="+c,mxUtils.bind(this,function(a){try{if(200<=a.getStatus()&&299>=a.getStatus())try{var f=JSON.parse(a.getText());if(null==f||null==f.icons)l(b,d,!1,g),this.editorUi.handleError(f);
 else{for(a=0;a<f.icons.length;a++){for(var h=f.icons[a].raster_sizes,k=h.length-1;0<k&&128<h[k].size;)k--;var m=h[k].size,n=h[k].formats[0].preview_url;null!=m&&null!=n&&mxUtils.bind(this,function(a,c){b.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+c,a,a,"")}))})(m,n)}l(b,(e-1)*c+b.length,f.icons.length==c,g)}}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}else l(b,
@@ -3365,8 +3365,8 @@ this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ff99;shape=m
 150,75,"","Application Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.service;",60,35,"","Service",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer service").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=event;archiType=rounded",
 150,75,"","Application Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.event;",60,35,"","Event",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer event").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#99ffff;strokeColor=#000000;shape=mxgraph.archimate3.businessObject;overflow=fill",
 150,75,'<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr style="height:20px;"><td align="center"></td></tr><tr><td align="left" valign="top" style="padding:4px;"></td></tr></table>',"Data Object",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate application layer data object").join(" "))];this.addPalette("archimate3Application","Archimate 3.0 / Application",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addArchimate3BusinessPalette=function(){var a=[this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=actor;archiType=square;",150,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.actor;",50,95,"","Actor",null,
-null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=role;archiType=square;",150,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.role;",
+Sidebar.prototype.addArchimate3BusinessPalette=function(){var a=[this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=actor;archiType=square;",150,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.archimate3.actor;",
+50,95,"","Actor",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer actor").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=role;archiType=square;",150,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.role;",
 85,50,"","Role",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer role").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=collab;archiType=square;",150,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.collaboration;",
 60,35,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer collaboration").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=interface;archiType=square;",150,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer component").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.interface;",
 70,35,"","Interface",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer interface").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.application;appType=proc;archiType=rounded;",150,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate3","","archimate business layer process").join(" ")),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.process;",
@@ -3669,45 +3669,46 @@ b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"EC2 Spot Fleet
 "Elastic Beanstalk Container")}),this.createVertexTemplateEntry(d+"region;strokeColor=#000000;fillColor=none;gradientColor=none;",200,200,"","Region",null,null,this.getTagsForStencil("mxgraph.aws.groups","region","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;",200,200,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws.groups","security","aws group amazon web service ").join(" ")),this.createVertexTemplateEntry(d+
 "rrect;fillColor=#F2F2F2;strokeColor=#000000;gradientColor=none;",200,200,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws.groups","server content","aws group amazon web service ").join(" ")),this.addEntry("aws group amazon web service virtual private cloud",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;");e.vertex=!0;var b=new mxCell("",new mxGeometry(10,0,70,40),d+"virtual_private_cloud_icon;strokeColor=none;fillColor=#282560;gradientColor=none;");
 b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service virtual private cloud subnet vpc",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),d+"rrect;fillColor=none;strokeColor=#000000;gradientColor=none;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,40),d+"vpc_subnet_icon;strokeColor=none;fillColor=#282560;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"VPC Subnet")})])}})();(function(){Sidebar.prototype.addAWS3Palette=function(){this.addAWS3AnalyticsPalette();this.addAWS3ApplicationServicesPalette();this.addAWS3ArtificialIntelligencePalette();this.addAWS3BusinessProductivityPalette();this.addAWS3ComputePalette();this.addAWS3ContactCenterPalette();this.addAWS3DatabasePalette();this.addAWS3DesktopAndAppStreamingPalette();this.addAWS3DeveloperToolsPalette();this.addAWS3GameDevelopmentPalette();this.addAWS3GeneralPalette();this.addAWS3GroupsPalette();this.addAWS3InternetOfThingsPalette();
-this.addAWS3ManagementToolsPalette();this.addAWS3MessagingPalette();this.addAWS3MigrationPalette();this.addAWS3MobileServicesPalette();this.addAWS3NetworkAndContentDeliveryPalette();this.addAWS3OnDemandWorkforcePalette();this.addAWS3SDKPalette();this.addAWS3SecurityIdentityAndCompliancePalette();this.addAWS3StoragePalette()};Sidebar.prototype.addAWS3AnalyticsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Analytics","AWS / Analytics",
-!1,[this.createVertexTemplateEntry(a+"athena;fillColor=#F58534;gradientColor=none;",76.5,76.5,"","Athena",null,null,this.getTagsForStencil("mxgraph.aws3","athena","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"cloudsearch;fillColor=#F58534;gradientColor=none;",76.5,93,"","CloudSearch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudsearch cloud search","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"elasticsearch_service;fillColor=#F58534;gradientColor=none;",
-67.5,81,"","ElasticSearch Service",null,null,this.getTagsForStencil("mxgraph.aws3","elasticsearch elastic search service","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr;fillColor=#F58534;gradientColor=none;",67.5,81,"","EMR",null,null,this.getTagsForStencil("mxgraph.aws3","emr","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis;fillColor=#F58534;gradientColor=none;",67.5,81,"","Kinesis",null,null,this.getTagsForStencil("mxgraph.aws3",
-"kinesis","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"quicksight;fillColor=#00B7F4;gradientColor=none;",60,60,"","QuickSight",null,null,this.getTagsForStencil("mxgraph.aws3","quicksight quick sight","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service analytics").join(" ")),
-this.createVertexTemplateEntry(a+"data_pipeline;fillColor=#F58534;gradientColor=none;",67.5,81,"","Data Pipeline",null,null,this.getTagsForStencil("mxgraph.aws3","data pipeline","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"search_documents;fillColor=#F58534;gradientColor=none;",60,63,"","Search Documents",null,null,this.getTagsForStencil("mxgraph.aws3","search documents","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
-"emr_cluster;fillColor=#F58534;gradientColor=none;",55.5,63,"","Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","emr cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m3;fillColor=#F58534;gradientColor=none;",
-82.5,60,"","EMR engine MapR M3",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M3","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m5;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M5",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M5","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m7;fillColor=#F58534;gradientColor=none;",82.5,60,"",
-"EMR engine MapR M7",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M7","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"glue;fillColor=#F58534;gradientColor=none;",82.5,99,"","Glue",null,null,this.getTagsForStencil("mxgraph.aws3","glue","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"hdfs_cluster;fillColor=#F58534;gradientColor=none;",61.5,63,"","HDFS Cluster",null,null,this.getTagsForStencil("mxgraph.aws3",
-"hdfs Cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_analytics;fillColor=#F58534;gradientColor=none;",73.5,75,"","Kinesis Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis analytics","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_enabled_app;fillColor=#F58534;gradientColor=none;",64.5,67.5,"","Kinesis-enabled app",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis enabled app",
-"aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_firehose;fillColor=#F58534;gradientColor=none;",60,64.5,"","Kinesis Firehose",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis firehose","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_streams;fillColor=#F58534;gradientColor=none;",60,63,"","Kinesis Streams",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis streams","aws group amazon web service analytics").join(" ")),
-this.createVertexTemplateEntry(a+"dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node","aws group amazon web service analytics").join(" "))])};Sidebar.prototype.addAWS3ApplicationServicesPalette=
-function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Application Services","AWS / Application Services",!1,[this.createVertexTemplateEntry(a+"elastic_transcoder;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Elastic Transcoder",null,null,this.getTagsForStencil("mxgraph.aws3","elastic transcoder","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",
-76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"step_functions;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Step Functions",null,null,this.getTagsForStencil("mxgraph.aws3","step functions","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"swf;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SWF",null,
-null,this.getTagsForStencil("mxgraph.aws3","swf","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"decider;fillColor=#D9A741;gradientColor=none;",61.5,64.5,"","Decider",null,null,this.getTagsForStencil("mxgraph.aws3","decider","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"worker;fillColor=#D9A741;gradientColor=none;",60,63,"","Worker",null,null,this.getTagsForStencil("mxgraph.aws3","worker",
-"aws group amazon web service app application services").join(" "))])};Sidebar.prototype.addAWS3ArtificialIntelligencePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Artificial Intelligence","AWS / Artificial Intelligence",!1,[this.createVertexTemplateEntry(a+"lex;fillColor=#2E73B8;gradientColor=none;",76.5,81,"","Lex",null,null,this.getTagsForStencil("mxgraph.aws3","lex","aws group amazon web service ai artificial intelligence").join(" ")),
-this.createVertexTemplateEntry(a+"machine_learning;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.aws3","machine learning","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"polly;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Polly",null,null,this.getTagsForStencil("mxgraph.aws3","polly","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+
-"rekognition;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Rekognition",null,null,this.getTagsForStencil("mxgraph.aws3","rekognition","aws group amazon web service ai artificial intelligence").join(" "))])};Sidebar.prototype.addAWS3BusinessProductivityPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Business Productivity","AWS / Business Productivity",!1,[this.createVertexTemplateEntry(a+"chime;fillColor=#03B5BB;gradientColor=none;",
-99,99,"","Chime",null,null,this.getTagsForStencil("mxgraph.aws3","chime","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkDocs",null,null,this.getTagsForStencil("mxgraph.aws3","workdocs work docs documents","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
-82.5,94.5,"","WorkMail",null,null,this.getTagsForStencil("mxgraph.aws3","workmail work mail","aws group amazon web service business productivity").join(" "))])};Sidebar.prototype.addAWS3ComputePalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Compute","AWS / Compute",!1,[this.createVertexTemplateEntry(d+"ami;fillColor=#F58534;gradientColor=none;",60,63,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3","ami","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"ec2;fillColor=#F58534;gradientColor=none;",76.5,93,"","EC2",null,null,this.getTagsForStencil("mxgraph.aws3","ec2","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_load_balancing;fillColor=#F58534;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"auto_scaling;fillColor=#F58534;gradientColor=none;",
-79.5,76.5,"","Auto Scaling",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_ip;fillColor=#F58534;gradientColor=none;",76.5,21,"","Elastic IP",null,null,this.getTagsForStencil("mxgraph.aws3","elastic ip","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_beanstalk;fillColor=#F58534;gradientColor=none;",67.5,93,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws3",
-"elastic beanstalk","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda;fillColor=#F58534;gradientColor=none;",76.5,93,"","Lambda",null,null,this.getTagsForStencil("mxgraph.aws3","lambda","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecs;fillColor=#F58534;gradientColor=none;",72,67.5,"","ECS",null,null,this.getTagsForStencil("mxgraph.aws3","ecs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"db_on_instance;fillColor=#F58534;gradientColor=none;",60,64.5,"","DB on Instance",null,null,this.getTagsForStencil("mxgraph.aws3","db on instance database","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance;fillColor=#F58534;gradientColor=none;",60,63,"","Instance",null,null,this.getTagsForStencil("mxgraph.aws3","instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lightsail;fillColor=#F58534;gradientColor=none;",
-76.5,82.5,"","Lightsail",null,null,this.getTagsForStencil("mxgraph.aws3","lightsail","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"endpoints;fillColor=#F58534;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instances;fillColor=#F58534;gradientColor=none;",60,63,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3",
-"instances","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_interface;fillColor=#F58534;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"internet_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway",
-"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"flow_logs;fillColor=#F58534;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"customer_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"instance_with_cloudwatch;fillColor=#F58534;gradientColor=none;",60,63,"","Instance with CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","instance with cloudwatch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_adapter;fillColor=#F58534;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service compute").join(" ")),
-this.createVertexTemplateEntry(d+"optimized_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Optimized Instance",null,null,this.getTagsForStencil("mxgraph.aws3","optimized instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"rescue;fillColor=#F58534;gradientColor=none;",63,66,"","Rescue",null,null,this.getTagsForStencil("mxgraph.aws3","rescue","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"spot_instance;fillColor=#F58534;gradientColor=none;",
-60,63,"","Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws3","spot instance","aws group amazon web service compute").join(" ")),this.addEntry("aws group amazon web service computeSpot Fleet",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),"rounded=1;fillColor=none;strokeColor=#000000;gradientColor=none;arcSize=10;dashed=1;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,43,40),d+"spot_instance;fillColor=#F58534;strokeColor=none;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,
-b],200,230,"Spot Fleet")}),this.createVertexTemplateEntry(d+"ecr;fillColor=#F58534;gradientColor=none;",69,72,"","ECR",null,null,this.getTagsForStencil("mxgraph.aws3","ecr","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"deployment;fillColor=#F58534;gradientColor=none;",55.5,73.5,"","Deployment",null,null,this.getTagsForStencil("mxgraph.aws3","deployment","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_connection;fillColor=#F58534;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_peering;fillColor=#F58534;gradientColor=none;",
-69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application;fillColor=#F58534;gradientColor=none;",34.5,64.5,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3","application","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",
-null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_2;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_3;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",
-null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_nat_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecr_registry;fillColor=#F58534;gradientColor=none;",57,60,"","ECR Registry",null,null,this.getTagsForStencil("mxgraph.aws3",
-"ecr registry","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"batch;fillColor=#F58534;gradientColor=none;",76.5,93,"","Batch",null,null,this.getTagsForStencil("mxgraph.aws3","batch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"router;fillColor=#F58534;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
-"vpc;fillColor=#F58534;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda_function;fillColor=#F58534;gradientColor=none;",
-69,72,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"classic_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"",
-"Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"x1_instance;fillColor=#F58534;gradientColor=none;",60,63,"","X1 Instance",null,null,this.getTagsForStencil("mxgraph.aws3","x1 instance","aws group amazon web service compute").join(" "))])};Sidebar.prototype.addAWS3ContactCenterPalette=function(){this.addPaletteFunctions("aws3Contact Center","AWS / Contact Center",
-!1,[this.createVertexTemplateEntry("dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.connect;fillColor=#759C3E;gradientColor=none;",90,69,"","Connect",null,null,this.getTagsForStencil("mxgraph.aws3","connect","aws group amazon web service contact center").join(" "))])};Sidebar.prototype.addAWS3DatabasePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Database","AWS / Database",!1,[this.createVertexTemplateEntry(a+"dynamo_db;fillColor=#2E73B8;gradientColor=none;",
+this.addAWS3ManagementToolsPalette();this.addAWS3MessagingPalette();this.addAWS3MigrationPalette();this.addAWS3MobileServicesPalette();this.addAWS3NetworkAndContentDeliveryPalette();this.addAWS3OnDemandWorkforcePalette();this.addAWS3SDKPalette();this.addAWS3SecurityIdentityAndCompliancePalette();this.addAWS3StoragePalette()};Sidebar.prototype.addAWS3AnalyticsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";
+this.addPaletteFunctions("aws3Analytics","AWS / Analytics",!1,[this.createVertexTemplateEntry(a+"athena;fillColor=#F58534;gradientColor=none;",76.5,76.5,"","Athena",null,null,this.getTagsForStencil("mxgraph.aws3","athena","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"cloudsearch;fillColor=#F58534;gradientColor=none;",76.5,93,"","CloudSearch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudsearch cloud search","aws group amazon web service analytics").join(" ")),
+this.createVertexTemplateEntry(a+"elasticsearch_service;fillColor=#F58534;gradientColor=none;",67.5,81,"","ElasticSearch Service",null,null,this.getTagsForStencil("mxgraph.aws3","elasticsearch elastic search service","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr;fillColor=#F58534;gradientColor=none;",67.5,81,"","EMR",null,null,this.getTagsForStencil("mxgraph.aws3","emr","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
+"kinesis;fillColor=#F58534;gradientColor=none;",67.5,81,"","Kinesis",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"quicksight;fillColor=#00B7F4;gradientColor=none;",60,60,"","QuickSight",null,null,this.getTagsForStencil("mxgraph.aws3","quicksight quick sight","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,
+"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"data_pipeline;fillColor=#F58534;gradientColor=none;",67.5,81,"","Data Pipeline",null,null,this.getTagsForStencil("mxgraph.aws3","data pipeline","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"search_documents;fillColor=#F58534;gradientColor=none;",60,63,"","Search Documents",null,null,this.getTagsForStencil("mxgraph.aws3",
+"search documents","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_cluster;fillColor=#F58534;gradientColor=none;",55.5,63,"","Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","emr cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine","aws group amazon web service analytics").join(" ")),
+this.createVertexTemplateEntry(a+"emr_engine_mapr_m3;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M3",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M3","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"emr_engine_mapr_m5;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M5",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M5","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+
+"emr_engine_mapr_m7;fillColor=#F58534;gradientColor=none;",82.5,60,"","EMR engine MapR M7",null,null,this.getTagsForStencil("mxgraph.aws3","emr engine MapR M7","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"glue;fillColor=#F58534;gradientColor=none;",82.5,99,"","Glue",null,null,this.getTagsForStencil("mxgraph.aws3","glue","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"hdfs_cluster;fillColor=#F58534;gradientColor=none;",
+61.5,63,"","HDFS Cluster",null,null,this.getTagsForStencil("mxgraph.aws3","hdfs Cluster","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_analytics;fillColor=#F58534;gradientColor=none;",73.5,75,"","Kinesis Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis analytics","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_enabled_app;fillColor=#F58534;gradientColor=none;",64.5,67.5,"","Kinesis-enabled app",
+null,null,this.getTagsForStencil("mxgraph.aws3","kinesis enabled app","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_firehose;fillColor=#F58534;gradientColor=none;",60,64.5,"","Kinesis Firehose",null,null,this.getTagsForStencil("mxgraph.aws3","kinesis firehose","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"kinesis_streams;fillColor=#F58534;gradientColor=none;",60,63,"","Kinesis Streams",null,null,this.getTagsForStencil("mxgraph.aws3",
+"kinesis streams","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service analytics").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node",
+"aws group amazon web service analytics").join(" "))])};Sidebar.prototype.addAWS3ApplicationServicesPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Application Services","AWS / Application Services",!1,[this.createVertexTemplateEntry(a+"elastic_transcoder;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Elastic Transcoder",null,null,this.getTagsForStencil("mxgraph.aws3",
+"elastic transcoder","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"step_functions;fillColor=#D9A741;gradientColor=none;",76.5,93,"","Step Functions",null,null,this.getTagsForStencil("mxgraph.aws3","step functions",
+"aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"swf;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SWF",null,null,this.getTagsForStencil("mxgraph.aws3","swf","aws group amazon web service app application services").join(" ")),this.createVertexTemplateEntry(a+"decider;fillColor=#D9A741;gradientColor=none;",61.5,64.5,"","Decider",null,null,this.getTagsForStencil("mxgraph.aws3","decider","aws group amazon web service app application services").join(" ")),
+this.createVertexTemplateEntry(a+"worker;fillColor=#D9A741;gradientColor=none;",60,63,"","Worker",null,null,this.getTagsForStencil("mxgraph.aws3","worker","aws group amazon web service app application services").join(" "))])};Sidebar.prototype.addAWS3ArtificialIntelligencePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Artificial Intelligence","AWS / Artificial Intelligence",
+!1,[this.createVertexTemplateEntry(a+"lex;fillColor=#2E73B8;gradientColor=none;",76.5,81,"","Lex",null,null,this.getTagsForStencil("mxgraph.aws3","lex","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"machine_learning;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.aws3","machine learning","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+
+"polly;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Polly",null,null,this.getTagsForStencil("mxgraph.aws3","polly","aws group amazon web service ai artificial intelligence").join(" ")),this.createVertexTemplateEntry(a+"rekognition;fillColor=#2E73B8;gradientColor=none;",76.5,93,"","Rekognition",null,null,this.getTagsForStencil("mxgraph.aws3","rekognition","aws group amazon web service ai artificial intelligence").join(" "))])};Sidebar.prototype.addAWS3BusinessProductivityPalette=function(){var a=
+"dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Business Productivity","AWS / Business Productivity",!1,[this.createVertexTemplateEntry(a+"chime;fillColor=#03B5BB;gradientColor=none;",99,99,"","Chime",null,null,this.getTagsForStencil("mxgraph.aws3","chime","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workdocs;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
+82.5,94.5,"","WorkDocs",null,null,this.getTagsForStencil("mxgraph.aws3","workdocs work docs documents","aws group amazon web service business productivity").join(" ")),this.createVertexTemplateEntry(a+"workmail;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkMail",null,null,this.getTagsForStencil("mxgraph.aws3","workmail work mail","aws group amazon web service business productivity").join(" "))])};Sidebar.prototype.addAWS3ComputePalette=function(){var a=this,d=
+"dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Compute","AWS / Compute",!1,[this.createVertexTemplateEntry(d+"ami;fillColor=#F58534;gradientColor=none;",60,63,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3","ami","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2;fillColor=#F58534;gradientColor=none;",76.5,93,"","EC2",null,null,this.getTagsForStencil("mxgraph.aws3",
+"ec2","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_load_balancing;fillColor=#F58534;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"auto_scaling;fillColor=#F58534;gradientColor=none;",79.5,76.5,"","Auto Scaling",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"elastic_ip;fillColor=#F58534;gradientColor=none;",76.5,21,"","Elastic IP",null,null,this.getTagsForStencil("mxgraph.aws3","elastic ip","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_beanstalk;fillColor=#F58534;gradientColor=none;",67.5,93,"","Elastic Beanstalk",null,null,this.getTagsForStencil("mxgraph.aws3","elastic beanstalk","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda;fillColor=#F58534;gradientColor=none;",
+76.5,93,"","Lambda",null,null,this.getTagsForStencil("mxgraph.aws3","lambda","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecs;fillColor=#F58534;gradientColor=none;",72,67.5,"","ECS",null,null,this.getTagsForStencil("mxgraph.aws3","ecs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"db_on_instance;fillColor=#F58534;gradientColor=none;",60,64.5,"","DB on Instance",null,null,this.getTagsForStencil("mxgraph.aws3","db on instance database",
+"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance;fillColor=#F58534;gradientColor=none;",60,63,"","Instance",null,null,this.getTagsForStencil("mxgraph.aws3","instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lightsail;fillColor=#F58534;gradientColor=none;",76.5,82.5,"","Lightsail",null,null,this.getTagsForStencil("mxgraph.aws3","lightsail","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
+"endpoints;fillColor=#F58534;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instances;fillColor=#F58534;gradientColor=none;",60,63,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_interface;fillColor=#F58534;gradientColor=none;",69,72,
+"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"internet_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"flow_logs;fillColor=#F58534;gradientColor=none;",69,72,"","Flow Logs",null,
+null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"customer_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"instance_with_cloudwatch;fillColor=#F58534;gradientColor=none;",60,63,"","Instance with CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3",
+"instance with cloudwatch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"elastic_network_adapter;fillColor=#F58534;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"optimized_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Optimized Instance",null,null,this.getTagsForStencil("mxgraph.aws3",
+"optimized instance","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"rescue;fillColor=#F58534;gradientColor=none;",63,66,"","Rescue",null,null,this.getTagsForStencil("mxgraph.aws3","rescue","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"spot_instance;fillColor=#F58534;gradientColor=none;",60,63,"","Spot Instance",null,null,this.getTagsForStencil("mxgraph.aws3","spot instance","aws group amazon web service compute").join(" ")),
+this.addEntry("aws group amazon web service computeSpot Fleet",function(){var e=new mxCell("",new mxGeometry(0,30,200,200),"rounded=1;fillColor=none;strokeColor=#000000;gradientColor=none;arcSize=10;dashed=1;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,43,40),d+"spot_instance;fillColor=#F58534;strokeColor=none;gradientColor=none;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,230,"Spot Fleet")}),this.createVertexTemplateEntry(d+"ecr;fillColor=#F58534;gradientColor=none;",
+69,72,"","ECR",null,null,this.getTagsForStencil("mxgraph.aws3","ecr","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"deployment;fillColor=#F58534;gradientColor=none;",55.5,73.5,"","Deployment",null,null,this.getTagsForStencil("mxgraph.aws3",
+"deployment","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpn_connection;fillColor=#F58534;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection virtual private network","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc_peering;fillColor=#F58534;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud",
+"aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application;fillColor=#F58534;gradientColor=none;",34.5,64.5,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3","application","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"ec2_compute_container_2;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ec2_compute_container_3;fillColor=#F58534;gradientColor=none;",60,34.5,"","EC2 Compute Container",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 compute container","aws group amazon web service compute").join(" ")),
+this.createVertexTemplateEntry(d+"vpc_nat_gateway;fillColor=#F58534;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"ecr_registry;fillColor=#F58534;gradientColor=none;",57,60,"","ECR Registry",null,null,this.getTagsForStencil("mxgraph.aws3","ecr registry","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+
+"batch;fillColor=#F58534;gradientColor=none;",76.5,93,"","Batch",null,null,this.getTagsForStencil("mxgraph.aws3","batch","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"router;fillColor=#F58534;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"vpc;fillColor=#F58534;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3",
+"vpc virtual private cloud","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"lambda_function;fillColor=#F58534;gradientColor=none;",69,72,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3",
+"lambda function","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"classic_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"application_load_balancer;fillColor=#F58534;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3",
+"application load balancer","aws group amazon web service compute").join(" ")),this.createVertexTemplateEntry(d+"x1_instance;fillColor=#F58534;gradientColor=none;",60,63,"","X1 Instance",null,null,this.getTagsForStencil("mxgraph.aws3","x1 instance","aws group amazon web service compute").join(" "))])};Sidebar.prototype.addAWS3ContactCenterPalette=function(){this.addPaletteFunctions("aws3Contact Center","AWS / Contact Center",!1,[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+
+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.connect;fillColor=#759C3E;gradientColor=none;",90,69,"","Connect",null,null,this.getTagsForStencil("mxgraph.aws3","connect","aws group amazon web service contact center").join(" "))])};Sidebar.prototype.addAWS3DatabasePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Database","AWS / Database",!1,[this.createVertexTemplateEntry(a+"dynamo_db;fillColor=#2E73B8;gradientColor=none;",
 72,81,"","Dynamo DB",null,null,this.getTagsForStencil("mxgraph.aws3","dynamo","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"elasticache;fillColor=#2E73B8;gradientColor=none;",67.5,81,"","ElastiCache",null,null,this.getTagsForStencil("mxgraph.aws3","elasticache elastic cache","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"rds;fillColor=#2E73B8;gradientColor=none;",72,81,"","RDS",null,null,this.getTagsForStencil("mxgraph.aws3",
 "rds","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"redshift;fillColor=#2E73B8;gradientColor=none;",67.5,75,"","Redshift",null,null,this.getTagsForStencil("mxgraph.aws3","redshift","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"redis;fillColor=#2E73B8;gradientColor=none;",60,63,"","Redis",null,null,this.getTagsForStencil("mxgraph.aws3","redis","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
 "rds_db_instance;fillColor=#2E73B8;gradientColor=none;",49.5,66,"","RDS DB Instance",null,null,this.getTagsForStencil("mxgraph.aws3","rds instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"rds_db_instance_read_replica;fillColor=#2E73B8;gradientColor=none;",49.5,66,"","RDS DB Instance Read Replica",null,null,this.getTagsForStencil("mxgraph.aws3","rds instance read replica","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
@@ -3722,119 +3723,121 @@ null,this.getTagsForStencil("mxgraph.aws3","sql master","aws group amazon web se
 this.createVertexTemplateEntry(a+"oracle_db_instance_2;fillColor=#2E73B8;gradientColor=none;",60,63,"","Oracle DB Instance",null,null,this.getTagsForStencil("mxgraph.aws3","oracle instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"postgre_sql_instance;fillColor=#2E73B8;gradientColor=none;",60,63,"","Postgre SQL Instance",null,null,this.getTagsForStencil("mxgraph.aws3","postgre sql instance","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+
 "dense_compute_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Compute Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense compute node","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"dense_storage_node;fillColor=#2E73B8;gradientColor=none;",55.5,63,"","Dense Storage Node",null,null,this.getTagsForStencil("mxgraph.aws3","dense storage node","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#2E73B8;gradientColor=none;",
 46.5,87,"","Database Migration Workflow/Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service db database").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#2E73B8;gradientColor=none;",72,81,"","Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service db database").join(" "))])};Sidebar.prototype.addAWS3DesktopAndAppStreamingPalette=
-function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Desktop and App Streaming","AWS / Desktop and App Streaming",!1,[this.createVertexTemplateEntry(a+"appstream;fillColor=#D9A741;gradientColor=none;",76.5,93,"","AppStream",null,null,this.getTagsForStencil("mxgraph.aws3","appstream","aws group amazon web service desktop app streaming application").join(" ")),this.createVertexTemplateEntry(a+"workspaces;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",
-82.5,94.5,"","WorkSpaces",null,null,this.getTagsForStencil("mxgraph.aws3","workspaces work spaces","aws group amazon web service desktop app streaming application").join(" "))])};Sidebar.prototype.addAWS3DeveloperToolsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Developer Tools","AWS / Developer Tools",!1,[this.createVertexTemplateEntry(a+"codecommit;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeCommit",null,null,this.getTagsForStencil("mxgraph.aws3",
-"codecommit code commit","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codedeploy;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeDeploy",null,null,this.getTagsForStencil("mxgraph.aws3","codedeploy code deploy","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codepipeline;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodePipeline",null,null,this.getTagsForStencil("mxgraph.aws3","codepipeline code pipeline",
-"aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codestar;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeStar",null,null,this.getTagsForStencil("mxgraph.aws3","codestar code star","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codebuild;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeBuild",null,null,this.getTagsForStencil("mxgraph.aws3","codebuild code build","aws group amazon web service dev developer tools").join(" ")),
-this.createVertexTemplateEntry(a+"x_ray;fillColor=#759C3E;gradientColor=none;",76.5,85.5,"","X-Ray",null,null,this.getTagsForStencil("mxgraph.aws3","x ray","aws group amazon web service dev developer tools").join(" "))])};Sidebar.prototype.addAWS3GameDevelopmentPalette=function(){this.addPaletteFunctions("aws3Game Development","AWS / Game Development",!1,[this.createVertexTemplateEntry("dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.gamelift;fillColor=#AD688B;gradientColor=none;",70.5,85.5,
-"","GameLift",null,null,this.getTagsForStencil("mxgraph.aws3","gamelift game lift","aws group amazon web service game development").join(" "))])};Sidebar.prototype.addAWS3GeneralPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3General","AWS / General",!1,[this.createVertexTemplateEntry(a+"management_console;fillColor=#F58534;gradientColor=none;",63,63,"","Management Console",null,null,this.getTagsForStencil("mxgraph.aws3","management console",
-"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"cloud_2;fillColor=#F58534;gradientColor=none;",75,75,"","Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","cloud","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"forums;fillColor=#F58534;gradientColor=none;",85.5,82.5,"","Forums",null,null,this.getTagsForStencil("mxgraph.aws3","forums","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"virtual_private_cloud;fillColor=#F58534;gradientColor=none;",
-79.5,54,"","Virtual Private Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","virtual private cloud vpc","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"management_console;fillColor=#D2D3D3;gradientColor=none;",63,63,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3","client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"mobile_client;fillColor=#D2D3D3;gradientColor=none;",40.5,63,"","Mobile Client",null,null,
-this.getTagsForStencil("mxgraph.aws3","mobile client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"multimedia;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Multimedia",null,null,this.getTagsForStencil("mxgraph.aws3","multimedia","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"user;fillColor=#D2D3D3;gradientColor=none;",45,63,"","User",null,null,this.getTagsForStencil("mxgraph.aws3","user","aws group amazon web service general").join(" ")),
-this.createVertexTemplateEntry(a+"users;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Users",null,null,this.getTagsForStencil("mxgraph.aws3","users","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"tape_storage;fillColor=#7D7C7C;gradientColor=none;",75,39,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.aws3","tape storage","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;",
-46.5,63,"","Corporate Data Center",null,null,this.getTagsForStencil("mxgraph.aws3","corporate data center","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"traditional_server;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Traditional Server",null,null,this.getTagsForStencil("mxgraph.aws3","traditional server","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"disk;fillColor=#7D7C7C;gradientColor=none;",61.5,64.5,"","Disk",null,
-null,this.getTagsForStencil("mxgraph.aws3","disk","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"generic_database;fillColor=#7D7C7C;gradientColor=none;",49.5,64.5,"","Generic Database",null,null,this.getTagsForStencil("mxgraph.aws3","generic database","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet;fillColor=#D2D3D3;gradientColor=none;",79.5,79.5,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet",
-"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_2;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_3;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+
-"office_building;fillColor=#7D7C7C;gradientColor=none;",33,79.5,"","Office Building",null,null,this.getTagsForStencil("mxgraph.aws3","office building","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"saml_token;fillColor=#D2D3D3;gradientColor=none;",69,72,"","SAML Token",null,null,this.getTagsForStencil("mxgraph.aws3","saml token","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"ssl_padlock;fillColor=#D2D3D3;gradientColor=none;",
-63,78,"","SSL Padlock",null,null,this.getTagsForStencil("mxgraph.aws3","ssl padlock","aws group amazon web service general").join(" "))])};Sidebar.prototype.addAWS3GroupsPalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Groups","AWS / Groups",!1,[this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;",199.5,199.5,"","Auto Scaling Group",
-null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling group","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#F59D56;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Availability Zone",null,null,this.getTagsForStencil("mxgraph.aws3","availability zone","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=1 1;strokeWidth=2;",
-199.5,199.5,"","Region",null,null,this.getTagsForStencil("mxgraph.aws3","region","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#ff0000;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws3","security group","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupselastic beanstalk container",
-function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,41),d+"elastic_beanstalk;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Elastic Beanstalk Container")}),this.addEntry("aws group amazon web service group groupsec2 instance container",function(){var e=new mxCell("",new mxGeometry(0,
-20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,41),d+"instance;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"EC2 Instance Container")}),this.addEntry("aws group amazon web service group groupsvpc subnet",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");
-e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,35),d+"permissions;fillColor=#D9A741;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"VPC Subnet")}),this.createVertexTemplateEntry("rounded=1;arcSize=10;strokeColor=none;fillColor=#DBDBDB;gradientColor=none;",199.5,199.5,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws3","server contents","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupsvirtual private cloud",
-function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"virtual_private_cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service group groupscloud",function(){var e=new mxCell("",new mxGeometry(0,20,
-200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"AWS Cloud")}),this.addEntry("aws group amazon web service group groupscorporate data center",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");
-e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,42),d+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Corporate Data Center")})])};Sidebar.prototype.addAWS3InternetOfThingsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Internet of Things","AWS / Internet of Things",!1,[this.createVertexTemplateEntry(a+"aws_iot;fillColor=#5294CF;gradientColor=none;",
-67.5,81,"","AWS IoT",null,null,this.getTagsForStencil("mxgraph.aws3","iot internet of things","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"greengrass;fillColor=#5294CF;gradientColor=none;",76.5,93,"","Greengrass",null,null,this.getTagsForStencil("mxgraph.aws3","greengrass","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"action;fillColor=#5294CF;gradientColor=none;",63,64.5,"","Action",null,null,
-this.getTagsForStencil("mxgraph.aws3","action","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"actuator;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Actuator",null,null,this.getTagsForStencil("mxgraph.aws3","actuator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"certificate;fillColor=#5294CF;gradientColor=none;",63,85.5,"","Certificate",null,null,this.getTagsForStencil("mxgraph.aws3","certificate",
-"aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"desired_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Desired State",null,null,this.getTagsForStencil("mxgraph.aws3","desired state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"hardware_board;fillColor=#5294CF;gradientColor=none;",84,100.5,"","Hardware Board",null,null,this.getTagsForStencil("mxgraph.aws3","hardware board","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"http_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"http_2_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP/2 Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http 2 protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"lambda_function;fillColor=#5294CF;gradientColor=none;",60,63,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"mqtt_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","MQTT Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","mqtt protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"policy;fillColor=#5294CF;gradientColor=none;",
-55.5,90,"","Policy",null,null,this.getTagsForStencil("mxgraph.aws3","policy","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"reported_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Reported State",null,null,this.getTagsForStencil("mxgraph.aws3","reported state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"rule;fillColor=#5294CF;gradientColor=none;",49.5,99,"","Rule",null,null,this.getTagsForStencil("mxgraph.aws3",
-"rule","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"sensor;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Sensor",null,null,this.getTagsForStencil("mxgraph.aws3","sensor","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"servo;fillColor=#5294CF;gradientColor=none;",84,60,"","Servo",null,null,this.getTagsForStencil("mxgraph.aws3","servo","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"shadow;fillColor=#5294CF;gradientColor=none;",85.5,91.5,"","Shadow",null,null,this.getTagsForStencil("mxgraph.aws3","shadow","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"simulator;fillColor=#5294CF;gradientColor=none;",75,78,"","Simulator",null,null,this.getTagsForStencil("mxgraph.aws3","simulator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"topic;fillColor=#5294CF;gradientColor=none;",
-49.5,66,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bank;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bank",null,null,this.getTagsForStencil("mxgraph.aws3","bank","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bicycle;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bicycle",null,null,this.getTagsForStencil("mxgraph.aws3",
-"bicycle","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"camera;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Camera",null,null,this.getTagsForStencil("mxgraph.aws3","camera","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"utility;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Utility",null,null,this.getTagsForStencil("mxgraph.aws3","utility","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"cart;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Cart",null,null,this.getTagsForStencil("mxgraph.aws3","cart","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"car;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Car",null,null,this.getTagsForStencil("mxgraph.aws3","car","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"windfarm;fillColor=#5294CF;gradientColor=none;",
-79.5,79.5,"","Windfarm",null,null,this.getTagsForStencil("mxgraph.aws3","windfarm","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"house;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","House",null,null,this.getTagsForStencil("mxgraph.aws3","house","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"generic;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Generic",null,null,this.getTagsForStencil("mxgraph.aws3",
-"generic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"factory;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Factory",null,null,this.getTagsForStencil("mxgraph.aws3","factory","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"coffee_pot;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Coffee Pot",null,null,this.getTagsForStencil("mxgraph.aws3","coffee pot","aws group amazon web service iot internet of things").join(" ")),
-this.createVertexTemplateEntry(a+"door_lock;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Door Lock",null,null,this.getTagsForStencil("mxgraph.aws3","door lock","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"lightbulb;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Lightbulb",null,null,this.getTagsForStencil("mxgraph.aws3","lightbulb","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"medical_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Medical Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","medical emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"police_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Police Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","police emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
-"thermostat;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Thermostat",null,null,this.getTagsForStencil("mxgraph.aws3","thermostat","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"travel;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Travel",null,null,this.getTagsForStencil("mxgraph.aws3","travel","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"echo;fillColor=#205B99;gradientColor=none;",
-40.5,93,"","Echo",null,null,this.getTagsForStencil("mxgraph.aws3","echo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_skill;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_smart_home_skill;fillColor=#5294CF;gradientColor=none;",90,70.5,"","Alexa Smart Home Skill",
-null,null,this.getTagsForStencil("mxgraph.aws3","alexa smart home skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_voice_service;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Voice Service",null,null,this.getTagsForStencil("mxgraph.aws3","alexa voice service","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_enabled_device;fillColor=#5294CF;gradientColor=none;",79.5,79.5,
-"","Alexa Enabled Device",null,null,this.getTagsForStencil("mxgraph.aws3","alexa enabled device","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv;fillColor=#5294CF;gradientColor=none;",75,55.5,"","Fire TV",null,null,this.getTagsForStencil("mxgraph.aws3","fire tv","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv_stick;fillColor=#5294CF;gradientColor=none;",85.5,33,"","Fire TV Stick",
-null,null,this.getTagsForStencil("mxgraph.aws3","fire tv stick","aws group amazon web service iot internet of things").join(" "))])};Sidebar.prototype.addAWS3ManagementToolsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Management Tools","AWS / Management Tools",!1,[this.createVertexTemplateEntry(a+"cloudwatch;fillColor=#759C3E;gradientColor=none;",82.5,93,"","CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudwatch cloud watch",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudformation;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudtrail;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudTrail",null,null,this.getTagsForStencil("mxgraph.aws3","cloudtrail cloud trail","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"config;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Config",null,null,this.getTagsForStencil("mxgraph.aws3","config","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"managed_services;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Managed Services",null,null,this.getTagsForStencil("mxgraph.aws3","managed services","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"opsworks;fillColor=#759C3E;gradientColor=none;",
-76.5,93,"","OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"service_catalog;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Service Catalog",null,null,this.getTagsForStencil("mxgraph.aws3","service catalog","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"trusted_advisor;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Trusted Advisor",
-null,null,this.getTagsForStencil("mxgraph.aws3","trusted advisor","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"alarm;fillColor=#759C3E;gradientColor=none;",54,66,"","Alarm",null,null,this.getTagsForStencil("mxgraph.aws3","alarm","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_time_based;fillColor=#759C3E;gradientColor=none;",63,82.5,"","Event (Time Based)",null,null,this.getTagsForStencil("mxgraph.aws3",
-"event time based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_event_based;fillColor=#759C3E;gradientColor=none;",60,82.5,"","Event (Event Based)",null,null,this.getTagsForStencil("mxgraph.aws3","event based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config_rule;fillColor=#759C3E;gradientColor=none;",55.5,72,"","Config Rule",null,null,this.getTagsForStencil("mxgraph.aws3","config rule","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"automation;fillColor=#759C3E;gradientColor=none;",78,81,"","Automation",null,null,this.getTagsForStencil("mxgraph.aws3","automation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"documents;fillColor=#759C3E;gradientColor=none;",90,100.5,"","Documents",null,null,this.getTagsForStencil("mxgraph.aws3","documents","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"inventory;fillColor=#759C3E;gradientColor=none;",
-90,105,"","Inventory",null,null,this.getTagsForStencil("mxgraph.aws3","inventory","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"maintenance_window;fillColor=#759C3E;gradientColor=none;",75,78,"","Maintenance Window",null,null,this.getTagsForStencil("mxgraph.aws3","maintenance window","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"parameter_store;fillColor=#759C3E;gradientColor=none;",75,102,"","Parameter Store",
-null,null,this.getTagsForStencil("mxgraph.aws3","parameter store","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"patch_manager;fillColor=#759C3E;gradientColor=none;",85.5,90,"","Patch Manager",null,null,this.getTagsForStencil("mxgraph.aws3","patch manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"run_command;fillColor=#759C3E;gradientColor=none;",114,82.5,"","Run Command",null,null,this.getTagsForStencil("mxgraph.aws3",
-"run command","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"state_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","State Manager",null,null,this.getTagsForStencil("mxgraph.aws3","state manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"ec2_systems_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","EC2 Systems Manager",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 systems manager",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_cloudformation;fillColor=#759C3E;gradientColor=none;",73.5,58.5,"","Stack AWS CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","stack cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"change_set;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Change Set",null,null,this.getTagsForStencil("mxgraph.aws3",
-"change set","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"template;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Template",null,null,this.getTagsForStencil("mxgraph.aws3","template","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"apps;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Apps",null,null,this.getTagsForStencil("mxgraph.aws3","apps","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"deployments;fillColor=#759C3E;gradientColor=none;",81,76.5,"","Deployments",null,null,this.getTagsForStencil("mxgraph.aws3","deployments","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"instances_2;fillColor=#759C3E;gradientColor=none;",81,81,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"layers;fillColor=#759C3E;gradientColor=none;",
-81,79.5,"","Layers",null,null,this.getTagsForStencil("mxgraph.aws3","layers","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"monitoring;fillColor=#759C3E;gradientColor=none;",81,67.5,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.aws3","monitoring","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"permissions;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3",
-"permissions","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"resources;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Resources",null,null,this.getTagsForStencil("mxgraph.aws3","resources","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_opsworks;fillColor=#759C3E;gradientColor=none;",79.5,79.5,"","Stack AWS OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","stack opsworks ops works",
-"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Checklist",null,null,this.getTagsForStencil("mxgraph.aws3","checklist","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_cost;fillColor=#759C3E;gradientColor=none;",67.5,75,"","Checklist Cost",null,null,this.getTagsForStencil("mxgraph.aws3","checklist cost","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"checklist_fault_tolerance;fillColor=#759C3E;gradientColor=none;",57,72,"","Checklist Fault Tolerance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist fault tolerance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_performance;fillColor=#759C3E;gradientColor=none;",61.5,73.5,"","Checklist Performance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist performance","aws group amazon web service management tools").join(" ")),
-this.createVertexTemplateEntry(a+"checklist_security;fillColor=#759C3E;gradientColor=none;",54,69,"","Checklist Security",null,null,this.getTagsForStencil("mxgraph.aws3","checklist security","aws group amazon web service management tools").join(" "))])};Sidebar.prototype.addAWS3MessagingPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Messaging","AWS / Messaging",!1,[this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",
-76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"ses;fillColor=#D9A741;gradientColor=none;",79.5,93,"","SES",null,null,this.getTagsForStencil("mxgraph.aws3","ses","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"sns;fillColor=#D9A741;gradientColor=none;",76.5,76.5,"","SNS",null,null,this.getTagsForStencil("mxgraph.aws3","sns","aws group amazon web service messaging").join(" ")),
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Desktop and App Streaming","AWS / Desktop and App Streaming",!1,[this.createVertexTemplateEntry(a+"appstream;fillColor=#D9A741;gradientColor=none;",76.5,93,"","AppStream",null,null,this.getTagsForStencil("mxgraph.aws3","appstream","aws group amazon web service desktop app streaming application").join(" ")),this.createVertexTemplateEntry(a+
+"workspaces;fillColor=#D16A28;gradientColor=#F58435;gradientDirection=north;",82.5,94.5,"","WorkSpaces",null,null,this.getTagsForStencil("mxgraph.aws3","workspaces work spaces","aws group amazon web service desktop app streaming application").join(" "))])};Sidebar.prototype.addAWS3DeveloperToolsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Developer Tools","AWS / Developer Tools",
+!1,[this.createVertexTemplateEntry(a+"codecommit;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CodeCommit",null,null,this.getTagsForStencil("mxgraph.aws3","codecommit code commit","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codedeploy;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeDeploy",null,null,this.getTagsForStencil("mxgraph.aws3","codedeploy code deploy","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+
+"codepipeline;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodePipeline",null,null,this.getTagsForStencil("mxgraph.aws3","codepipeline code pipeline","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codestar;fillColor=#759C3E;gradientColor=none;",67.5,81,"","CodeStar",null,null,this.getTagsForStencil("mxgraph.aws3","codestar code star","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"codebuild;fillColor=#759C3E;gradientColor=none;",
+76.5,93,"","CodeBuild",null,null,this.getTagsForStencil("mxgraph.aws3","codebuild code build","aws group amazon web service dev developer tools").join(" ")),this.createVertexTemplateEntry(a+"x_ray;fillColor=#759C3E;gradientColor=none;",76.5,85.5,"","X-Ray",null,null,this.getTagsForStencil("mxgraph.aws3","x ray","aws group amazon web service dev developer tools").join(" "))])};Sidebar.prototype.addAWS3GameDevelopmentPalette=function(){this.addPaletteFunctions("aws3Game Development","AWS / Game Development",
+!1,[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.gamelift;fillColor=#AD688B;gradientColor=none;",70.5,85.5,"","GameLift",null,null,this.getTagsForStencil("mxgraph.aws3","gamelift game lift","aws group amazon web service game development").join(" "))])};Sidebar.prototype.addAWS3GeneralPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+
+"=mxgraph.aws3.";this.addPaletteFunctions("aws3General","AWS / General",!1,[this.createVertexTemplateEntry(a+"management_console;fillColor=#F58534;gradientColor=none;",63,63,"","Management Console",null,null,this.getTagsForStencil("mxgraph.aws3","management console","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"cloud_2;fillColor=#F58534;gradientColor=none;",75,75,"","Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","cloud","aws group amazon web service general").join(" ")),
+this.createVertexTemplateEntry(a+"forums;fillColor=#F58534;gradientColor=none;",85.5,82.5,"","Forums",null,null,this.getTagsForStencil("mxgraph.aws3","forums","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"virtual_private_cloud;fillColor=#F58534;gradientColor=none;",79.5,54,"","Virtual Private Cloud",null,null,this.getTagsForStencil("mxgraph.aws3","virtual private cloud vpc","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"management_console;fillColor=#D2D3D3;gradientColor=none;",
+63,63,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3","client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"mobile_client;fillColor=#D2D3D3;gradientColor=none;",40.5,63,"","Mobile Client",null,null,this.getTagsForStencil("mxgraph.aws3","mobile client","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"multimedia;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Multimedia",null,null,this.getTagsForStencil("mxgraph.aws3",
+"multimedia","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"user;fillColor=#D2D3D3;gradientColor=none;",45,63,"","User",null,null,this.getTagsForStencil("mxgraph.aws3","user","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#D2D3D3;gradientColor=none;",66,63,"","Users",null,null,this.getTagsForStencil("mxgraph.aws3","users","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"tape_storage;fillColor=#7D7C7C;gradientColor=none;",
+75,39,"","Tape Storage",null,null,this.getTagsForStencil("mxgraph.aws3","tape storage","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Corporate Data Center",null,null,this.getTagsForStencil("mxgraph.aws3","corporate data center","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"traditional_server;fillColor=#7D7C7C;gradientColor=none;",46.5,63,"","Traditional Server",
+null,null,this.getTagsForStencil("mxgraph.aws3","traditional server","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"disk;fillColor=#7D7C7C;gradientColor=none;",61.5,64.5,"","Disk",null,null,this.getTagsForStencil("mxgraph.aws3","disk","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"generic_database;fillColor=#7D7C7C;gradientColor=none;",49.5,64.5,"","Generic Database",null,null,this.getTagsForStencil("mxgraph.aws3","generic database",
+"aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet;fillColor=#D2D3D3;gradientColor=none;",79.5,79.5,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"internet_2;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+
+"internet_3;fillColor=#D2D3D3;gradientColor=none;",79.5,54,"","Internet",null,null,this.getTagsForStencil("mxgraph.aws3","internet","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"office_building;fillColor=#7D7C7C;gradientColor=none;",33,79.5,"","Office Building",null,null,this.getTagsForStencil("mxgraph.aws3","office building","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"saml_token;fillColor=#D2D3D3;gradientColor=none;",
+69,72,"","SAML Token",null,null,this.getTagsForStencil("mxgraph.aws3","saml token","aws group amazon web service general").join(" ")),this.createVertexTemplateEntry(a+"ssl_padlock;fillColor=#D2D3D3;gradientColor=none;",63,78,"","SSL Padlock",null,null,this.getTagsForStencil("mxgraph.aws3","ssl padlock","aws group amazon web service general").join(" "))])};Sidebar.prototype.addAWS3GroupsPalette=function(){var a=this,d="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Groups",
+"AWS / Groups",!1,[this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=8 3 1 3;strokeWidth=2;",199.5,199.5,"","Auto Scaling Group",null,null,this.getTagsForStencil("mxgraph.aws3","auto scaling group","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#F59D56;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",199.5,199.5,"","Availability Zone",
+null,null,this.getTagsForStencil("mxgraph.aws3","availability zone","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#000000;fillColor=none;gradientColor=none;dashPattern=1 1;strokeWidth=2;",199.5,199.5,"","Region",null,null,this.getTagsForStencil("mxgraph.aws3","region","aws group amazon web service group groups").join(" ")),this.createVertexTemplateEntry("rounded=1;arcSize=10;dashed=1;strokeColor=#ff0000;fillColor=none;gradientColor=none;dashPattern=8 4;strokeWidth=2;",
+199.5,199.5,"","Security Group",null,null,this.getTagsForStencil("mxgraph.aws3","security group","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupselastic beanstalk container",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,41),d+"elastic_beanstalk;fillColor=#F58536;gradientColor=none;dashed=0;");
+b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Elastic Beanstalk Container")}),this.addEntry("aws group amazon web service group groupsec2 instance container",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,40,41),d+"instance;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,
+b],200,220,"EC2 Instance Container")}),this.addEntry("aws group amazon web service group groupsvpc subnet",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,35),d+"permissions;fillColor=#D9A741;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"VPC Subnet")}),this.createVertexTemplateEntry("rounded=1;arcSize=10;strokeColor=none;fillColor=#DBDBDB;gradientColor=none;",
+199.5,199.5,"","Server Contents",null,null,this.getTagsForStencil("mxgraph.aws3","server contents","aws group amazon web service group groups").join(" ")),this.addEntry("aws group amazon web service group groupsvirtual private cloud",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"virtual_private_cloud;fillColor=#F58536;gradientColor=none;dashed=0;");
+b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Virtual Private Cloud")}),this.addEntry("aws group amazon web service group groupscloud",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,52,36),d+"cloud;fillColor=#F58536;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"AWS Cloud")}),
+this.addEntry("aws group amazon web service group groupscorporate data center",function(){var e=new mxCell("",new mxGeometry(0,20,200,200),"rounded=1;arcSize=10;dashed=0;strokeColor=#000000;fillColor=none;gradientColor=none;strokeWidth=2;");e.vertex=!0;var b=new mxCell("",new mxGeometry(20,0,30,42),d+"corporate_data_center;fillColor=#7D7C7C;gradientColor=none;dashed=0;");b.vertex=!0;return a.createVertexTemplateFromCells([e,b],200,220,"Corporate Data Center")})])};Sidebar.prototype.addAWS3InternetOfThingsPalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Internet of Things","AWS / Internet of Things",!1,[this.createVertexTemplateEntry(a+"aws_iot;fillColor=#5294CF;gradientColor=none;",67.5,81,"","AWS IoT",null,null,this.getTagsForStencil("mxgraph.aws3","iot internet of things","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"greengrass;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Greengrass",null,null,this.getTagsForStencil("mxgraph.aws3","greengrass","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"action;fillColor=#5294CF;gradientColor=none;",63,64.5,"","Action",null,null,this.getTagsForStencil("mxgraph.aws3","action","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"actuator;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Actuator",null,null,this.getTagsForStencil("mxgraph.aws3",
+"actuator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"certificate;fillColor=#5294CF;gradientColor=none;",63,85.5,"","Certificate",null,null,this.getTagsForStencil("mxgraph.aws3","certificate","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"desired_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Desired State",null,null,this.getTagsForStencil("mxgraph.aws3","desired state","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"hardware_board;fillColor=#5294CF;gradientColor=none;",84,100.5,"","Hardware Board",null,null,this.getTagsForStencil("mxgraph.aws3","hardware board","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"http_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
+"http_2_protocol;fillColor=#5294CF;gradientColor=none;",63,66,"","HTTP/2 Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","http 2 protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"lambda_function;fillColor=#5294CF;gradientColor=none;",60,63,"","Lambda Function",null,null,this.getTagsForStencil("mxgraph.aws3","lambda function","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"mqtt_protocol;fillColor=#5294CF;gradientColor=none;",
+63,66,"","MQTT Protocol",null,null,this.getTagsForStencil("mxgraph.aws3","mqtt protocol","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"policy;fillColor=#5294CF;gradientColor=none;",55.5,90,"","Policy",null,null,this.getTagsForStencil("mxgraph.aws3","policy","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"reported_state;fillColor=#5294CF;gradientColor=none;",60,63,"","Reported State",null,null,
+this.getTagsForStencil("mxgraph.aws3","reported state","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"rule;fillColor=#5294CF;gradientColor=none;",49.5,99,"","Rule",null,null,this.getTagsForStencil("mxgraph.aws3","rule","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"sensor;fillColor=#5294CF;gradientColor=none;",76.5,90,"","Sensor",null,null,this.getTagsForStencil("mxgraph.aws3","sensor","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"servo;fillColor=#5294CF;gradientColor=none;",84,60,"","Servo",null,null,this.getTagsForStencil("mxgraph.aws3","servo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"shadow;fillColor=#5294CF;gradientColor=none;",85.5,91.5,"","Shadow",null,null,this.getTagsForStencil("mxgraph.aws3","shadow","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"simulator;fillColor=#5294CF;gradientColor=none;",
+75,78,"","Simulator",null,null,this.getTagsForStencil("mxgraph.aws3","simulator","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"topic;fillColor=#5294CF;gradientColor=none;",49.5,66,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bank;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bank",null,null,this.getTagsForStencil("mxgraph.aws3",
+"bank","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"bicycle;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Bicycle",null,null,this.getTagsForStencil("mxgraph.aws3","bicycle","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"camera;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Camera",null,null,this.getTagsForStencil("mxgraph.aws3","camera","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"utility;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Utility",null,null,this.getTagsForStencil("mxgraph.aws3","utility","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"cart;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Cart",null,null,this.getTagsForStencil("mxgraph.aws3","cart","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"car;fillColor=#5294CF;gradientColor=none;",
+79.5,79.5,"","Car",null,null,this.getTagsForStencil("mxgraph.aws3","car","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"windfarm;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Windfarm",null,null,this.getTagsForStencil("mxgraph.aws3","windfarm","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"house;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","House",null,null,this.getTagsForStencil("mxgraph.aws3",
+"house","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"generic;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Generic",null,null,this.getTagsForStencil("mxgraph.aws3","generic","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"factory;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Factory",null,null,this.getTagsForStencil("mxgraph.aws3","factory","aws group amazon web service iot internet of things").join(" ")),
+this.createVertexTemplateEntry(a+"coffee_pot;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Coffee Pot",null,null,this.getTagsForStencil("mxgraph.aws3","coffee pot","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"door_lock;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Door Lock",null,null,this.getTagsForStencil("mxgraph.aws3","door lock","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+
+"lightbulb;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Lightbulb",null,null,this.getTagsForStencil("mxgraph.aws3","lightbulb","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"medical_emergency;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Medical Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","medical emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"police_emergency;fillColor=#5294CF;gradientColor=none;",
+79.5,79.5,"","Police Emergency",null,null,this.getTagsForStencil("mxgraph.aws3","police emergency","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"thermostat;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Thermostat",null,null,this.getTagsForStencil("mxgraph.aws3","thermostat","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"travel;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Travel",
+null,null,this.getTagsForStencil("mxgraph.aws3","travel","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"echo;fillColor=#205B99;gradientColor=none;",40.5,93,"","Echo",null,null,this.getTagsForStencil("mxgraph.aws3","echo","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_skill;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa skill",
+"aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_smart_home_skill;fillColor=#5294CF;gradientColor=none;",90,70.5,"","Alexa Smart Home Skill",null,null,this.getTagsForStencil("mxgraph.aws3","alexa smart home skill","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_voice_service;fillColor=#5294CF;gradientColor=none;",60,63,"","Alexa Voice Service",null,null,this.getTagsForStencil("mxgraph.aws3",
+"alexa voice service","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"alexa_enabled_device;fillColor=#5294CF;gradientColor=none;",79.5,79.5,"","Alexa Enabled Device",null,null,this.getTagsForStencil("mxgraph.aws3","alexa enabled device","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv;fillColor=#5294CF;gradientColor=none;",75,55.5,"","Fire TV",null,null,this.getTagsForStencil("mxgraph.aws3",
+"fire tv","aws group amazon web service iot internet of things").join(" ")),this.createVertexTemplateEntry(a+"fire_tv_stick;fillColor=#5294CF;gradientColor=none;",85.5,33,"","Fire TV Stick",null,null,this.getTagsForStencil("mxgraph.aws3","fire tv stick","aws group amazon web service iot internet of things").join(" "))])};Sidebar.prototype.addAWS3ManagementToolsPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";
+this.addPaletteFunctions("aws3Management Tools","AWS / Management Tools",!1,[this.createVertexTemplateEntry(a+"cloudwatch;fillColor=#759C3E;gradientColor=none;",82.5,93,"","CloudWatch",null,null,this.getTagsForStencil("mxgraph.aws3","cloudwatch cloud watch","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudformation;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","cloudformation cloud formation",
+"aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"cloudtrail;fillColor=#759C3E;gradientColor=none;",76.5,93,"","CloudTrail",null,null,this.getTagsForStencil("mxgraph.aws3","cloudtrail cloud trail","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Config",null,null,this.getTagsForStencil("mxgraph.aws3","config","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"managed_services;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Managed Services",null,null,this.getTagsForStencil("mxgraph.aws3","managed services","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"opsworks;fillColor=#759C3E;gradientColor=none;",76.5,93,"","OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+
+"service_catalog;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Service Catalog",null,null,this.getTagsForStencil("mxgraph.aws3","service catalog","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"trusted_advisor;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Trusted Advisor",null,null,this.getTagsForStencil("mxgraph.aws3","trusted advisor","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"alarm;fillColor=#759C3E;gradientColor=none;",
+54,66,"","Alarm",null,null,this.getTagsForStencil("mxgraph.aws3","alarm","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_time_based;fillColor=#759C3E;gradientColor=none;",63,82.5,"","Event (Time Based)",null,null,this.getTagsForStencil("mxgraph.aws3","event time based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"event_event_based;fillColor=#759C3E;gradientColor=none;",60,82.5,"","Event (Event Based)",
+null,null,this.getTagsForStencil("mxgraph.aws3","event based","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"config_rule;fillColor=#759C3E;gradientColor=none;",55.5,72,"","Config Rule",null,null,this.getTagsForStencil("mxgraph.aws3","config rule","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"automation;fillColor=#759C3E;gradientColor=none;",78,81,"","Automation",null,null,this.getTagsForStencil("mxgraph.aws3",
+"automation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"documents;fillColor=#759C3E;gradientColor=none;",90,100.5,"","Documents",null,null,this.getTagsForStencil("mxgraph.aws3","documents","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"inventory;fillColor=#759C3E;gradientColor=none;",90,105,"","Inventory",null,null,this.getTagsForStencil("mxgraph.aws3","inventory","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"maintenance_window;fillColor=#759C3E;gradientColor=none;",75,78,"","Maintenance Window",null,null,this.getTagsForStencil("mxgraph.aws3","maintenance window","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"parameter_store;fillColor=#759C3E;gradientColor=none;",75,102,"","Parameter Store",null,null,this.getTagsForStencil("mxgraph.aws3","parameter store","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+
+"patch_manager;fillColor=#759C3E;gradientColor=none;",85.5,90,"","Patch Manager",null,null,this.getTagsForStencil("mxgraph.aws3","patch manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"run_command;fillColor=#759C3E;gradientColor=none;",114,82.5,"","Run Command",null,null,this.getTagsForStencil("mxgraph.aws3","run command","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"state_manager;fillColor=#759C3E;gradientColor=none;",
+79.5,82.5,"","State Manager",null,null,this.getTagsForStencil("mxgraph.aws3","state manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"ec2_systems_manager;fillColor=#759C3E;gradientColor=none;",79.5,82.5,"","EC2 Systems Manager",null,null,this.getTagsForStencil("mxgraph.aws3","ec2 systems manager","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_cloudformation;fillColor=#759C3E;gradientColor=none;",
+73.5,58.5,"","Stack AWS CloudFormation",null,null,this.getTagsForStencil("mxgraph.aws3","stack cloudformation cloud formation","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"change_set;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"","Change Set",null,null,this.getTagsForStencil("mxgraph.aws3","change set","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"template;fillColor=#759C3E;gradientColor=none;",55.5,
+64.5,"","Template",null,null,this.getTagsForStencil("mxgraph.aws3","template","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"apps;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Apps",null,null,this.getTagsForStencil("mxgraph.aws3","apps","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"deployments;fillColor=#759C3E;gradientColor=none;",81,76.5,"","Deployments",null,null,this.getTagsForStencil("mxgraph.aws3",
+"deployments","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"instances_2;fillColor=#759C3E;gradientColor=none;",81,81,"","Instances",null,null,this.getTagsForStencil("mxgraph.aws3","instances","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"layers;fillColor=#759C3E;gradientColor=none;",81,79.5,"","Layers",null,null,this.getTagsForStencil("mxgraph.aws3","layers","aws group amazon web service management tools").join(" ")),
+this.createVertexTemplateEntry(a+"monitoring;fillColor=#759C3E;gradientColor=none;",81,67.5,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.aws3","monitoring","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"permissions;fillColor=#759C3E;gradientColor=none;",67.5,79.5,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"resources;fillColor=#759C3E;gradientColor=none;",
+67.5,79.5,"","Resources",null,null,this.getTagsForStencil("mxgraph.aws3","resources","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"stack_aws_opsworks;fillColor=#759C3E;gradientColor=none;",79.5,79.5,"","Stack AWS OpsWorks",null,null,this.getTagsForStencil("mxgraph.aws3","stack opsworks ops works","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist;fillColor=#759C3E;gradientColor=none;",55.5,64.5,"",
+"Checklist",null,null,this.getTagsForStencil("mxgraph.aws3","checklist","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_cost;fillColor=#759C3E;gradientColor=none;",67.5,75,"","Checklist Cost",null,null,this.getTagsForStencil("mxgraph.aws3","checklist cost","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_fault_tolerance;fillColor=#759C3E;gradientColor=none;",57,72,"","Checklist Fault Tolerance",
+null,null,this.getTagsForStencil("mxgraph.aws3","checklist fault tolerance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_performance;fillColor=#759C3E;gradientColor=none;",61.5,73.5,"","Checklist Performance",null,null,this.getTagsForStencil("mxgraph.aws3","checklist performance","aws group amazon web service management tools").join(" ")),this.createVertexTemplateEntry(a+"checklist_security;fillColor=#759C3E;gradientColor=none;",54,69,"",
+"Checklist Security",null,null,this.getTagsForStencil("mxgraph.aws3","checklist security","aws group amazon web service management tools").join(" "))])};Sidebar.prototype.addAWS3MessagingPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Messaging","AWS / Messaging",!1,[this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,
+null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"ses;fillColor=#D9A741;gradientColor=none;",79.5,93,"","SES",null,null,this.getTagsForStencil("mxgraph.aws3","ses","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"sns;fillColor=#D9A741;gradientColor=none;",76.5,76.5,"","SNS",null,null,this.getTagsForStencil("mxgraph.aws3","sns","aws group amazon web service messaging").join(" ")),
 this.createVertexTemplateEntry(a+"sqs;fillColor=#D9A741;gradientColor=none;",76.5,93,"","SQS",null,null,this.getTagsForStencil("mxgraph.aws3","sqs","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"email;fillColor=#D9A741;gradientColor=none;",81,61.5,"","Email",null,null,this.getTagsForStencil("mxgraph.aws3","email","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"message;fillColor=#D9A741;gradientColor=none;",42,49.5,"","Message",
 null,null,this.getTagsForStencil("mxgraph.aws3","message","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"queue;fillColor=#D9A741;gradientColor=none;",73.5,48,"","Queue",null,null,this.getTagsForStencil("mxgraph.aws3","queue","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"email_notification;fillColor=#D9A741;gradientColor=none;",100.5,63,"","Email Notification",null,null,this.getTagsForStencil("mxgraph.aws3","email notification",
 "aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"http_notification;fillColor=#D9A741;gradientColor=none;",100.5,63,"","HTTP Notification",null,null,this.getTagsForStencil("mxgraph.aws3","http notification","aws group amazon web service messaging").join(" ")),this.createVertexTemplateEntry(a+"topic_2;fillColor=#D9A741;gradientColor=none;",93,58.5,"","Topic",null,null,this.getTagsForStencil("mxgraph.aws3","topic","aws group amazon web service messaging").join(" "))])};
-Sidebar.prototype.addAWS3MigrationPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Migration","AWS / Migration",!1,[this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"server_migration_service;fillColor=#5294CF;gradientColor=none;",76.5,
-93,"","Server Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","server migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","Import Export","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#5294CF;gradientColor=none;",72,81,"",
-"Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#5294CF;gradientColor=none;",46.5,87,"","Database Migration Workflow Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"application_discovery_service;fillColor=#5294CF;gradientColor=none;",
-76.5,93,"","Application Discovery Service",null,null,this.getTagsForStencil("mxgraph.aws3","application discovery service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"migration_hub_2;fillColor=#ABABAB;gradientColor=none;",114,121.5,"","Migration Hub",null,null,this.getTagsForStencil("mxgraph.aws3","migration hub","aws group amazon web service migration").join(" "))])};Sidebar.prototype.addAWS3MobileServicesPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+
-"=mxgraph.aws3.";this.addPaletteFunctions("aws3Mobile Services","AWS / Mobile Services",!1,[this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"cognito;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Cognito",null,null,this.getTagsForStencil("mxgraph.aws3","cognito","aws group amazon web service mobile services").join(" ")),
-this.createVertexTemplateEntry(a+"mobile_analytics;fillColor=#AD688B;gradientColor=none;",90,93,"","Mobile Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","mobile analytics","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"device_farm;fillColor=#AD688B;gradientColor=none;",
-76.5,93,"","Device Farm",null,null,this.getTagsForStencil("mxgraph.aws3","device farm","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_hub;fillColor=#AD688A;gradientColor=#F58435;gradientDirection=west;",75,81,"","Mobile Hub",null,null,this.getTagsForStencil("mxgraph.aws3","mobile hub","aws group amazon web service mobile services").join(" "))])};Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+
-"=mxgraph.aws3.";this.addPaletteFunctions("aws3Networking and Content Delivery","AWS / Network and Content Delivery",!1,[this.createVertexTemplateEntry(a+"cloudfront;fillColor=#F58536;gradientColor=none;",76.5,93,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3","cloudfront cloud front","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_53;fillColor=#F58536;gradientColor=none;",70.5,85.5,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws3",
-"route 53","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc;fillColor=#F58536;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"network_access_controllist;fillColor=#F58534;gradientColor=none;",69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3",
-"network access controllist","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_load_balancing;fillColor=#F58536;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"direct_connect;fillColor=#F58536;gradientColor=none;",67.5,81,"","Direct Connect",null,null,
-this.getTagsForStencil("mxgraph.aws3","direct connect","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"hosted_zone;fillColor=#F58536;gradientColor=none;",63,64.5,"","Hosted Zone",null,null,this.getTagsForStencil("mxgraph.aws3","hosted zone","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_table;fillColor=#F58536;gradientColor=none;",75,69,"","Route Table",null,null,this.getTagsForStencil("mxgraph.aws3",
-"route table","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"customer_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"endpoints;fillColor=#F58536;gradientColor=none;",69,72,"","Endpoints",null,null,this.getTagsForStencil("mxgraph.aws3","endpoints",
-"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"flow_logs;fillColor=#F58536;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"internet_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","internet gateway","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"router;fillColor=#F58536;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_nat_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"vpc_peering;fillColor=#F58536;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_connection;fillColor=#F58536;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"vpn_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"classic_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"elastic_network_adapter;fillColor=#F58536;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_interface;fillColor=#F58536;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network interface","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"application_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"streaming_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Streaming Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","streaming distribution","aws group amazon web service network and content delivery").join(" ")),
-this.createVertexTemplateEntry(a+"download_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Download Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","download distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"edge_location;fillColor=#F58536;gradientColor=none;",58.5,64.5,"","Edge Location",null,null,this.getTagsForStencil("mxgraph.aws3","edge location","aws group amazon web service network and content delivery").join(" "))])};
-Sidebar.prototype.addAWS3OnDemandWorkforcePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3On Demand Workforce","AWS / On-Demand Workforce",!1,[this.createVertexTemplateEntry(a+"mechanical_turk;fillColor=#ACACAC;gradientColor=none;",67.5,81,"","Mechanical Turk",null,null,this.getTagsForStencil("mxgraph.aws3","mechanical turk","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;",
-52.5,55.5,"","Human Intelligence Tasks HIT",null,null,this.getTagsForStencil("mxgraph.aws3","human intelligence tasks hit","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"requester;fillColor=#ACACAC;gradientColor=none;",55.5,64.5,"","Requester",null,null,this.getTagsForStencil("mxgraph.aws3","requester","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#ACACAC;gradientColor=none;",66,63,
-"","Workers",null,null,this.getTagsForStencil("mxgraph.aws3","workers","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"assignment_task;fillColor=#ACACAC;gradientColor=none;",46.5,63,"","Assignment/Task",null,null,this.getTagsForStencil("mxgraph.aws3","assignment task","aws group amazon web service on demand workforce").join(" "))])};Sidebar.prototype.addAWS3SDKPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3SDKs",
-"AWS / SDK",!1,[this.createVertexTemplateEntry(a+"android;fillColor=#96BF3D;gradientColor=none;",73.5,84,"","Android",null,null,this.getTagsForStencil("mxgraph.aws3","android","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"cli;fillColor=#444444;gradientColor=none;",72,82.5,"","CLI",null,null,this.getTagsForStencil("mxgraph.aws3","cli","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
-"toolkit_for_eclipse;fillColor=#342074;gradientColor=none;",70.5,78,"","Toolkit for Eclipse",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for eclipse","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;",70.5,78,"","Toolkit for Visual Studio",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for visual studio","aws group amazon web service sdk software development kit").join(" ")),
-this.createVertexTemplateEntry(a+"toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;",70.5,78,"","Toolkit for Windows PowerShell",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for windows powershell","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#CFCFCF;gradientColor=none;",73.5,84,"","iOS",null,null,this.getTagsForStencil("mxgraph.aws3","ios","aws group amazon web service sdk software development kit").join(" ")),
-this.createVertexTemplateEntry(a+"android;fillColor=#AE1F23;gradientColor=none;",73.5,84,"","Ruby",null,null,this.getTagsForStencil("mxgraph.aws3","ruby","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFD44F;gradientColor=none;",73.5,84,"","Python (boto)",null,null,this.getTagsForStencil("mxgraph.aws3","python boto","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
-"android;fillColor=#5A69A4;gradientColor=none;",73.5,84,"","PHP",null,null,this.getTagsForStencil("mxgraph.aws3","php","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#115193;gradientColor=none;",73.5,84,"",".NET",null,null,this.getTagsForStencil("mxgraph.aws3","dot net dotnet","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#205E00;gradientColor=none;",
-73.5,84,"","JavaScript",null,null,this.getTagsForStencil("mxgraph.aws3","js javascript","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#EE472A;gradientColor=none;",73.5,84,"","Java",null,null,this.getTagsForStencil("mxgraph.aws3","java","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#4090D7;gradientColor=none;",73.5,84,"","Xamarin",null,null,this.getTagsForStencil("mxgraph.aws3",
-"xamarin","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#8CC64F;gradientColor=none;",73.5,84,"","Node.js",null,null,this.getTagsForStencil("mxgraph.aws3","node js nodejs","aws group amazon web service sdk software development kit").join(" "))])};Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Security Identity and Compliance",
-"AWS / Security Identity and Compliance",!1,[this.createVertexTemplateEntry(a+"inspector;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Inspector",null,null,this.getTagsForStencil("mxgraph.aws3","inspector","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"macie;fillColor=#34BBC9;gradientColor=none;",133.5,54,"","Macie",null,null,this.getTagsForStencil("mxgraph.aws3","macie","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"artifact;fillColor=#759C3E;gradientColor=none;",75,90,"","Artifact",null,null,this.getTagsForStencil("mxgraph.aws3","artifact","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager;fillColor=#759C3E;gradientColor=none;",76.5,61.5,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"cloudhsm;fillColor=#759C3E;gradientColor=none;",73.5,84,"","CloudHSM",null,null,this.getTagsForStencil("mxgraph.aws3","cloudhsm cloud hsm","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"directory_service;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Directory Service",null,null,this.getTagsForStencil("mxgraph.aws3","directory service","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"iam;fillColor=#759C3E;gradientColor=none;",42,81,"","IAM",null,null,this.getTagsForStencil("mxgraph.aws3","iam","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"kms;fillColor=#759C3E;gradientColor=none;",76.5,93,"","KMS",null,null,this.getTagsForStencil("mxgraph.aws3","kms","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"shield;fillColor=#759C3E;gradientColor=none;",
-76.5,70.5,"","Shield",null,null,this.getTagsForStencil("mxgraph.aws3","shield","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"organizations;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Organizations",null,null,this.getTagsForStencil("mxgraph.aws3","organizations","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"waf;fillColor=#759C3E;gradientColor=none;",76.5,93,"","WAF",
-null,null,this.getTagsForStencil("mxgraph.aws3","waf","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"agent;fillColor=#759C3E;gradientColor=none;",69,72,"","Agent",null,null,this.getTagsForStencil("mxgraph.aws3","agent","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager_2;fillColor=#759C3E;gradientColor=none;",73.5,63,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3",
-"certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"clouddirectory;fillColor=#759C3E;gradientColor=none;",102,109.5,"","CloudDirectory",null,null,this.getTagsForStencil("mxgraph.aws3","cloud directory","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"add_on;fillColor=#759C3E;gradientColor=none;",49.5,27,"","Add-On",null,null,this.getTagsForStencil("mxgraph.aws3",
-"add on","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts;fillColor=#759C3E;gradientColor=none;",61.5,34.5,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts_2;fillColor=#759C3E;gradientColor=none;",46.5,60,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"data_encryption_key;fillColor=#7D7C7C;gradientColor=none;",46.5,60,"","Data Encryption Key",null,null,this.getTagsForStencil("mxgraph.aws3","data encryption key","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"encrypted_data;fillColor=#7D7C7C;gradientColor=none;",43.5,55.5,"","Encrypted Data",null,null,this.getTagsForStencil("mxgraph.aws3","encrypted data","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"long_term_security_credential;fillColor=#ffffff;gradientColor=none;",60,48,"","Long Term Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","long term security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"mfa_token;fillColor=#7D7C7C;gradientColor=none;",61.5,61.5,"","MFA Token",null,null,this.getTagsForStencil("mxgraph.aws3","mfa token","aws group amazon web service security and identity compliance").join(" ")),
-this.createVertexTemplateEntry(a+"permissions_2;fillColor=#D2D3D3;gradientColor=none;",46.5,63,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"role;fillColor=#759C3E;gradientColor=none;",94.5,79.5,"","Role",null,null,this.getTagsForStencil("mxgraph.aws3","role","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
-"temporary_security_credential;fillColor=#ffffff;gradientColor=none;",67.5,60,"","Temporary Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","temporary security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"filtering_rule;fillColor=#759C3E;gradientColor=none;",69,72,"","Filtering Rule",null,null,this.getTagsForStencil("mxgraph.aws3","filtering rule","aws group amazon web service security and identity compliance").join(" "))])};
-Sidebar.prototype.addAWS3StoragePalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Storage","AWS / Storage",!1,[this.createVertexTemplateEntry(a+"s3;fillColor=#E05243;gradientColor=none;",76.5,93,"","S3",null,null,this.getTagsForStencil("mxgraph.aws3","s3","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"glacier;fillColor=#E05243;gradientColor=none;",76.5,93,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws3",
-"glacier","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"storage_gateway;fillColor=#E05243;gradientColor=none;",76.5,93,"","Storage Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","storage gateway","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs;fillColor=#E05243;gradientColor=none;",76.5,93,"","EFS",null,null,this.getTagsForStencil("mxgraph.aws3","efs","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
-"archive;fillColor=#E05243;gradientColor=none;",57,75,"","Archive",null,null,this.getTagsForStencil("mxgraph.aws3","archive","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"vault;fillColor=#E05243;gradientColor=none;",54,75,"","Vault",null,null,this.getTagsForStencil("mxgraph.aws3","vault","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket",null,null,this.getTagsForStencil("mxgraph.aws3",
-"bucket","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket_with_objects;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket with Objects",null,null,this.getTagsForStencil("mxgraph.aws3","bucket with objects","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"object;fillColor=#E05243;gradientColor=none;",42,45,"","Object",null,null,this.getTagsForStencil("mxgraph.aws3","object","aws group amazon web service storage").join(" ")),
-this.createVertexTemplateEntry(a+"virtual_tape_library;fillColor=#E05243;gradientColor=none;",60,73.5,"","Virtual Tape Library",null,null,this.getTagsForStencil("mxgraph.aws3","virtual tape library","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
-"non_cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Non-Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","non cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snapshot;fillColor=#E05243;gradientColor=none;",60,73.5,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws3","snapshot","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",
-52.5,75,"","Volume",null,null,this.getTagsForStencil("mxgraph.aws3","volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs_share;fillColor=#E05243;gradientColor=none;",69,63,"","EFS Share",null,null,this.getTagsForStencil("mxgraph.aws3","efs share",
-"aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","import export","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3","ebs","aws group amazon web service storage").join(" "))])}})();(function(){Sidebar.prototype.addAWS3DPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=1;dashed=0;shape=mxgraph.aws3d.";this.addPaletteFunctions("aws3d","AWS 3D",!1,[this.createVertexTemplateEntry(a+"ami;aspect=fixed;fillColor=#E8CA45;strokeColor=#FFF215;",92,60,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
+Sidebar.prototype.addAWS3MigrationPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Migration","AWS / Migration",!1,[this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"server_migration_service;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Server Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","server migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","Import Export","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_service;fillColor=#5294CF;gradientColor=none;",72,81,
+"","Database Migration Service",null,null,this.getTagsForStencil("mxgraph.aws3","database migration service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"database_migration_workflow_job;fillColor=#5294CF;gradientColor=none;",46.5,87,"","Database Migration Workflow Job",null,null,this.getTagsForStencil("mxgraph.aws3","database migration workflow job","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"application_discovery_service;fillColor=#5294CF;gradientColor=none;",
+76.5,93,"","Application Discovery Service",null,null,this.getTagsForStencil("mxgraph.aws3","application discovery service","aws group amazon web service migration").join(" ")),this.createVertexTemplateEntry(a+"migration_hub_2;fillColor=#ABABAB;gradientColor=none;",114,121.5,"","Migration Hub",null,null,this.getTagsForStencil("mxgraph.aws3","migration hub","aws group amazon web service migration").join(" "))])};Sidebar.prototype.addAWS3MobileServicesPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+
+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Mobile Services","AWS / Mobile Services",!1,[this.createVertexTemplateEntry(a+"api_gateway;fillColor=#D9A741;gradientColor=none;",76.5,93,"","API Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","api gateway","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"cognito;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Cognito",null,null,this.getTagsForStencil("mxgraph.aws3","cognito",
+"aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_analytics;fillColor=#AD688B;gradientColor=none;",90,93,"","Mobile Analytics",null,null,this.getTagsForStencil("mxgraph.aws3","mobile analytics","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"pinpoint;fillColor=#AD688B;gradientColor=none;",76.5,87,"","Pinpoint",null,null,this.getTagsForStencil("mxgraph.aws3","pinpoint","aws group amazon web service mobile services").join(" ")),
+this.createVertexTemplateEntry(a+"device_farm;fillColor=#AD688B;gradientColor=none;",76.5,93,"","Device Farm",null,null,this.getTagsForStencil("mxgraph.aws3","device farm","aws group amazon web service mobile services").join(" ")),this.createVertexTemplateEntry(a+"mobile_hub;fillColor=#AD688A;gradientColor=#F58435;gradientDirection=west;",75,81,"","Mobile Hub",null,null,this.getTagsForStencil("mxgraph.aws3","mobile hub","aws group amazon web service mobile services").join(" "))])};Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Networking and Content Delivery","AWS / Network and Content Delivery",!1,[this.createVertexTemplateEntry(a+"cloudfront;fillColor=#F58536;gradientColor=none;",76.5,93,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3","cloudfront cloud front","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+
+"route_53;fillColor=#F58536;gradientColor=none;",70.5,85.5,"","Route 53",null,null,this.getTagsForStencil("mxgraph.aws3","route 53","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc;fillColor=#F58536;gradientColor=none;",67.5,81,"","VPC",null,null,this.getTagsForStencil("mxgraph.aws3","vpc virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"network_access_controllist;fillColor=#F58534;gradientColor=none;",
+69,72,"","Network Access Controllist",null,null,this.getTagsForStencil("mxgraph.aws3","network access controllist","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_load_balancing;fillColor=#F58536;gradientColor=none;",76.5,93,"","Elastic Load Balancing",null,null,this.getTagsForStencil("mxgraph.aws3","elastic load balancing","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"direct_connect;fillColor=#F58536;gradientColor=none;",
+67.5,81,"","Direct Connect",null,null,this.getTagsForStencil("mxgraph.aws3","direct connect","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"hosted_zone;fillColor=#F58536;gradientColor=none;",63,64.5,"","Hosted Zone",null,null,this.getTagsForStencil("mxgraph.aws3","hosted zone","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"route_table;fillColor=#F58536;gradientColor=none;",75,69,"",
+"Route Table",null,null,this.getTagsForStencil("mxgraph.aws3","route table","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"customer_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Customer Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","customer gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"endpoints;fillColor=#F58536;gradientColor=none;",69,72,"","Endpoints",
+null,null,this.getTagsForStencil("mxgraph.aws3","endpoints","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"flow_logs;fillColor=#F58536;gradientColor=none;",69,72,"","Flow Logs",null,null,this.getTagsForStencil("mxgraph.aws3","flow logs","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"internet_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","Internet Gateway",null,null,this.getTagsForStencil("mxgraph.aws3",
+"internet gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"router;fillColor=#F58536;gradientColor=none;",69,72,"","Router",null,null,this.getTagsForStencil("mxgraph.aws3","router","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_nat_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPC NAT Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpc nat gateway virtual private cloud",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpc_peering;fillColor=#F58536;gradientColor=none;",69,72,"","VPC Peering",null,null,this.getTagsForStencil("mxgraph.aws3","vpc peering virtual private cloud","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_connection;fillColor=#F58536;gradientColor=none;",58.5,48,"","VPN Connection",null,null,this.getTagsForStencil("mxgraph.aws3","vpn connection",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"vpn_gateway;fillColor=#F58536;gradientColor=none;",69,72,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","vpn gateway","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"classic_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Classic Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","classic load balancer",
+"aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_adapter;fillColor=#F58536;gradientColor=none;",75,90,"","Elastic Network Adapter",null,null,this.getTagsForStencil("mxgraph.aws3","elastic network adapter","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"elastic_network_interface;fillColor=#F58536;gradientColor=none;",69,72,"","Elastic Network Interface",null,null,this.getTagsForStencil("mxgraph.aws3",
+"elastic network interface","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"application_load_balancer;fillColor=#F58536;gradientColor=none;",69,72,"","Application Load Balancer",null,null,this.getTagsForStencil("mxgraph.aws3","application load balancer","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"streaming_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Streaming Distribution",
+null,null,this.getTagsForStencil("mxgraph.aws3","streaming distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"download_distribution;fillColor=#F58536;gradientColor=none;",69,72,"","Download Distribution",null,null,this.getTagsForStencil("mxgraph.aws3","download distribution","aws group amazon web service network and content delivery").join(" ")),this.createVertexTemplateEntry(a+"edge_location;fillColor=#F58536;gradientColor=none;",
+58.5,64.5,"","Edge Location",null,null,this.getTagsForStencil("mxgraph.aws3","edge location","aws group amazon web service network and content delivery").join(" "))])};Sidebar.prototype.addAWS3OnDemandWorkforcePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3On Demand Workforce","AWS / On-Demand Workforce",!1,[this.createVertexTemplateEntry(a+"mechanical_turk;fillColor=#ACACAC;gradientColor=none;",
+67.5,81,"","Mechanical Turk",null,null,this.getTagsForStencil("mxgraph.aws3","mechanical turk","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"human_intelligence_tasks_hit;fillColor=#ACACAC;gradientColor=none;",52.5,55.5,"","Human Intelligence Tasks HIT",null,null,this.getTagsForStencil("mxgraph.aws3","human intelligence tasks hit","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"requester;fillColor=#ACACAC;gradientColor=none;",
+55.5,64.5,"","Requester",null,null,this.getTagsForStencil("mxgraph.aws3","requester","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"users;fillColor=#ACACAC;gradientColor=none;",66,63,"","Workers",null,null,this.getTagsForStencil("mxgraph.aws3","workers","aws group amazon web service on demand workforce").join(" ")),this.createVertexTemplateEntry(a+"assignment_task;fillColor=#ACACAC;gradientColor=none;",46.5,63,"","Assignment/Task",null,null,this.getTagsForStencil("mxgraph.aws3",
+"assignment task","aws group amazon web service on demand workforce").join(" "))])};Sidebar.prototype.addAWS3SDKPalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3SDKs","AWS / SDK",!1,[this.createVertexTemplateEntry(a+"android;fillColor=#96BF3D;gradientColor=none;",73.5,84,"","Android",null,null,this.getTagsForStencil("mxgraph.aws3","android","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"cli;fillColor=#444444;gradientColor=none;",72,82.5,"","CLI",null,null,this.getTagsForStencil("mxgraph.aws3","cli","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_eclipse;fillColor=#342074;gradientColor=none;",70.5,78,"","Toolkit for Eclipse",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for eclipse","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+
+"toolkit_for_visual_studio;fillColor=#53B1CB;gradientColor=none;",70.5,78,"","Toolkit for Visual Studio",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for visual studio","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"toolkit_for_windows_powershell;fillColor=#737373;gradientColor=none;",70.5,78,"","Toolkit for Windows PowerShell",null,null,this.getTagsForStencil("mxgraph.aws3","toolkit for windows powershell","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"android;fillColor=#CFCFCF;gradientColor=none;",73.5,84,"","iOS",null,null,this.getTagsForStencil("mxgraph.aws3","ios","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#AE1F23;gradientColor=none;",73.5,84,"","Ruby",null,null,this.getTagsForStencil("mxgraph.aws3","ruby","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFD44F;gradientColor=none;",
+73.5,84,"","Python (boto)",null,null,this.getTagsForStencil("mxgraph.aws3","python boto","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#5A69A4;gradientColor=none;",73.5,84,"","PHP",null,null,this.getTagsForStencil("mxgraph.aws3","php","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#115193;gradientColor=none;",73.5,84,"",".NET",null,null,this.getTagsForStencil("mxgraph.aws3",
+"dot net dotnet","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#205E00;gradientColor=none;",73.5,84,"","JavaScript",null,null,this.getTagsForStencil("mxgraph.aws3","js javascript","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#EE472A;gradientColor=none;",73.5,84,"","Java",null,null,this.getTagsForStencil("mxgraph.aws3","java","aws group amazon web service sdk software development kit").join(" ")),
+this.createVertexTemplateEntry(a+"android;fillColor=#4090D7;gradientColor=none;",73.5,84,"","Xamarin",null,null,this.getTagsForStencil("mxgraph.aws3","xamarin","aws group amazon web service sdk software development kit").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#8CC64F;gradientColor=none;",73.5,84,"","Node.js",null,null,this.getTagsForStencil("mxgraph.aws3","node js nodejs","aws group amazon web service sdk software development kit").join(" "))])};Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette=
+function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Security Identity and Compliance","AWS / Security Identity and Compliance",!1,[this.createVertexTemplateEntry(a+"inspector;fillColor=#759C3E;gradientColor=none;",67.5,81,"","Inspector",null,null,this.getTagsForStencil("mxgraph.aws3","inspector","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
+"macie;fillColor=#34BBC9;gradientColor=none;",133.5,54,"","Macie",null,null,this.getTagsForStencil("mxgraph.aws3","macie","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"artifact;fillColor=#759C3E;gradientColor=none;",75,90,"","Artifact",null,null,this.getTagsForStencil("mxgraph.aws3","artifact","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"certificate_manager;fillColor=#759C3E;gradientColor=none;",
+76.5,61.5,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"cloudhsm;fillColor=#759C3E;gradientColor=none;",73.5,84,"","CloudHSM",null,null,this.getTagsForStencil("mxgraph.aws3","cloudhsm cloud hsm","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"directory_service;fillColor=#759C3E;gradientColor=none;",
+67.5,81,"","Directory Service",null,null,this.getTagsForStencil("mxgraph.aws3","directory service","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"iam;fillColor=#759C3E;gradientColor=none;",42,81,"","IAM",null,null,this.getTagsForStencil("mxgraph.aws3","iam","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"kms;fillColor=#759C3E;gradientColor=none;",76.5,93,"","KMS",null,null,
+this.getTagsForStencil("mxgraph.aws3","kms","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"shield;fillColor=#759C3E;gradientColor=none;",76.5,70.5,"","Shield",null,null,this.getTagsForStencil("mxgraph.aws3","shield","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"organizations;fillColor=#759C3E;gradientColor=none;",76.5,93,"","Organizations",null,null,this.getTagsForStencil("mxgraph.aws3",
+"organizations","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"waf;fillColor=#759C3E;gradientColor=none;",76.5,93,"","WAF",null,null,this.getTagsForStencil("mxgraph.aws3","waf","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"agent;fillColor=#759C3E;gradientColor=none;",69,72,"","Agent",null,null,this.getTagsForStencil("mxgraph.aws3","agent","aws group amazon web service security and identity compliance").join(" ")),
+this.createVertexTemplateEntry(a+"certificate_manager_2;fillColor=#759C3E;gradientColor=none;",73.5,63,"","Certificate Manager",null,null,this.getTagsForStencil("mxgraph.aws3","certificate manager","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"clouddirectory;fillColor=#759C3E;gradientColor=none;",102,109.5,"","CloudDirectory",null,null,this.getTagsForStencil("mxgraph.aws3","cloud directory","aws group amazon web service security and identity compliance").join(" ")),
+this.createVertexTemplateEntry(a+"add_on;fillColor=#759C3E;gradientColor=none;",49.5,27,"","Add-On",null,null,this.getTagsForStencil("mxgraph.aws3","add on","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts;fillColor=#759C3E;gradientColor=none;",61.5,34.5,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"sts_2;fillColor=#759C3E;gradientColor=none;",
+46.5,60,"","STS",null,null,this.getTagsForStencil("mxgraph.aws3","sts","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"data_encryption_key;fillColor=#7D7C7C;gradientColor=none;",46.5,60,"","Data Encryption Key",null,null,this.getTagsForStencil("mxgraph.aws3","data encryption key","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"encrypted_data;fillColor=#7D7C7C;gradientColor=none;",
+43.5,55.5,"","Encrypted Data",null,null,this.getTagsForStencil("mxgraph.aws3","encrypted data","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"long_term_security_credential;fillColor=#ffffff;gradientColor=none;",60,48,"","Long Term Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","long term security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+
+"mfa_token;fillColor=#7D7C7C;gradientColor=none;",61.5,61.5,"","MFA Token",null,null,this.getTagsForStencil("mxgraph.aws3","mfa token","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"permissions_2;fillColor=#D2D3D3;gradientColor=none;",46.5,63,"","Permissions",null,null,this.getTagsForStencil("mxgraph.aws3","permissions","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"role;fillColor=#759C3E;gradientColor=none;",
+94.5,79.5,"","Role",null,null,this.getTagsForStencil("mxgraph.aws3","role","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"temporary_security_credential;fillColor=#ffffff;gradientColor=none;",67.5,60,"","Temporary Security Credential",null,null,this.getTagsForStencil("mxgraph.aws3","temporary security credential","aws group amazon web service security and identity compliance").join(" ")),this.createVertexTemplateEntry(a+"filtering_rule;fillColor=#759C3E;gradientColor=none;",
+69,72,"","Filtering Rule",null,null,this.getTagsForStencil("mxgraph.aws3","filtering rule","aws group amazon web service security and identity compliance").join(" "))])};Sidebar.prototype.addAWS3StoragePalette=function(){var a="dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.aws3.";this.addPaletteFunctions("aws3Storage","AWS / Storage",!1,[this.createVertexTemplateEntry(a+"s3;fillColor=#E05243;gradientColor=none;",76.5,93,"","S3",null,
+null,this.getTagsForStencil("mxgraph.aws3","s3","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"glacier;fillColor=#E05243;gradientColor=none;",76.5,93,"","Glacier",null,null,this.getTagsForStencil("mxgraph.aws3","glacier","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"storage_gateway;fillColor=#E05243;gradientColor=none;",76.5,93,"","Storage Gateway",null,null,this.getTagsForStencil("mxgraph.aws3","storage gateway","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"efs;fillColor=#E05243;gradientColor=none;",76.5,93,"","EFS",null,null,this.getTagsForStencil("mxgraph.aws3","efs","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"archive;fillColor=#E05243;gradientColor=none;",57,75,"","Archive",null,null,this.getTagsForStencil("mxgraph.aws3","archive","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"vault;fillColor=#E05243;gradientColor=none;",54,75,"","Vault",
+null,null,this.getTagsForStencil("mxgraph.aws3","vault","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket",null,null,this.getTagsForStencil("mxgraph.aws3","bucket","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"bucket_with_objects;fillColor=#E05243;gradientColor=none;",60,61.5,"","Bucket with Objects",null,null,this.getTagsForStencil("mxgraph.aws3","bucket with objects",
+"aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"object;fillColor=#E05243;gradientColor=none;",42,45,"","Object",null,null,this.getTagsForStencil("mxgraph.aws3","object","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"virtual_tape_library;fillColor=#E05243;gradientColor=none;",60,73.5,"","Virtual Tape Library",null,null,this.getTagsForStencil("mxgraph.aws3","virtual tape library","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"non_cached_volume;fillColor=#E05243;gradientColor=none;",60,73.5,"","Non-Cached Volume",null,null,this.getTagsForStencil("mxgraph.aws3","non cached volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+
+"snapshot;fillColor=#E05243;gradientColor=none;",60,73.5,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.aws3","snapshot","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","Volume",null,null,this.getTagsForStencil("mxgraph.aws3","volume","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"snowball;fillColor=#E05243;gradientColor=none;",67.5,81,"","Snowball",null,null,
+this.getTagsForStencil("mxgraph.aws3","snowball","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"efs_share;fillColor=#E05243;gradientColor=none;",69,63,"","EFS Share",null,null,this.getTagsForStencil("mxgraph.aws3","efs share","aws group amazon web service storage").join(" ")),this.createVertexTemplateEntry(a+"import_export;fillColor=#E05243;gradientColor=none;",64.5,63,"","Import/Export",null,null,this.getTagsForStencil("mxgraph.aws3","import export","aws group amazon web service storage").join(" ")),
+this.createVertexTemplateEntry(a+"volume;fillColor=#E05243;gradientColor=none;",52.5,75,"","EBS",null,null,this.getTagsForStencil("mxgraph.aws3","ebs","aws group amazon web service storage").join(" "))])}})();(function(){Sidebar.prototype.addAWS3DPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=1;align=center;dashed=0;shape=mxgraph.aws3d.";this.addPaletteFunctions("aws3d","AWS 3D",!1,[this.createVertexTemplateEntry(a+"ami;aspect=fixed;fillColor=#E8CA45;strokeColor=#FFF215;",92,60,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
 "ami2;aspect=fixed;fillColor=#FF9900;strokeColor=#ffffff;",74,50,"","AMI",null,null,this.getTagsForStencil("mxgraph.aws3d","ami","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application;fillColor=#4286c5;strokeColor=#57A2D8;aspect=fixed;",62,68.8,"","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application2;fillColor=#86E83A;strokeColor=#B0F373;aspect=fixed;",62,53,
 "","Application",null,null,this.getTagsForStencil("mxgraph.aws3d","application","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;",123,124,"","EC2 Instance",null,null,this.getTagsForStencil("mxgraph.aws3d","ec2 instance","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"client;aspect=fixed;strokeColor=none;fillColor=#777777;",60,104,"","Client",null,null,this.getTagsForStencil("mxgraph.aws3d",
 "client","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"cloudfront;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;",103.8,100*1.698,"","CloudFront",null,null,this.getTagsForStencil("mxgraph.aws3d","cloudfront","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"file;aspect=fixed;strokeColor=#2d6195;fillColor=#ffffff;",30.8,70.6,"","Content",null,null,this.getTagsForStencil("mxgraph.aws3d","content","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+
@@ -3863,28 +3866,28 @@ this.createVertexTemplateEntry(a+"arrowNW;fillColor=#000000;aspect=fixed;",45.5,
 null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatEdge;fillColor=#000000;aspect=fixed;",63.2,36,"","Flat Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"flatDoubleEdge;fillColor=#000000;aspect=fixed;",252.8,144,"","Flat Double Edge",null,null,this.getTagsForStencil("mxgraph.aws3d",
 "arrow ne north east northeast","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"arrowhead;aspect=fixed;",19,11,"","Arrowhead",null,null,this.getTagsForStencil("mxgraph.aws3d","arrowhead","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"edge;aspect=fixed;",97,107.4,"","Edge",null,null,this.getTagsForStencil("mxgraph.aws3d","edge","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"reference;aspect=fixed;",29.5,19.5,"","Reference",
 null,null,this.getTagsForStencil("mxgraph.aws3d","reference","aws 3d amazon web service").join(" ")),this.createVertexTemplateEntry(a+"spot;aspect=fixed;",62,36,"","Spot",null,null,this.getTagsForStencil("mxgraph.aws3d","spot","aws 3d amazon web service").join(" ")),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;",50,100,"isometric edge","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;",50,100,"isometric edge",
-"Isometric Edge 2")])}})();(function(){Sidebar.prototype.addAzurePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.";this.addPaletteFunctions("azure",mxResources.get("azure"),!1,[this.createVertexTemplateEntry(a+"access_control;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.azure","access_control","").join(" ")),this.createVertexTemplateEntry(a+"automation;",50,45,"","Automation",
-null,null,this.getTagsForStencil("mxgraph.azure","automation","").join(" ")),this.createVertexTemplateEntry(a+"autoscale;",50,30,"","AutoScale",null,null,this.getTagsForStencil("mxgraph.azure","autoscale","").join(" ")),this.createVertexTemplateEntry(a+"azure_active_directory;",47.5,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.azure","azure_active_directory","").join(" ")),this.createVertexTemplateEntry(a+"azure_alert;",50,42.5,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.azure",
-"azure_alert","").join(" ")),this.createVertexTemplateEntry(a+"azure_cache;",45,50,"","Azure Cache",null,null,this.getTagsForStencil("mxgraph.azure","azure_cache","").join(" ")),this.createVertexTemplateEntry(a+"azure_instance;",50,50,"","Azure Instance",null,null,this.getTagsForStencil("mxgraph.azure","azure_instance","").join(" ")),this.createVertexTemplateEntry(a+"azure_load_balancer;",50,35,"","Azure Load Balancer",null,null,this.getTagsForStencil("mxgraph.azure","azure_load_balancer","").join(" ")),
-this.createVertexTemplateEntry(a+"azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.azure","azure_marketplace","").join(" ")),this.createVertexTemplateEntry(a+"azure_sdk;",50,47.5,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.azure","azure_sdk","").join(" ")),this.createVertexTemplateEntry(a+"azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.azure","azure_subscription","").join(" ")),this.createVertexTemplateEntry(a+
-"azure_website;",50,50,"","Azure Website",null,null,this.getTagsForStencil("mxgraph.azure","azure_website","").join(" ")),this.createVertexTemplateEntry(a+"backup_service;",50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.azure","backup_service","").join(" ")),this.createVertexTemplateEntry(a+"bitbucket_code_source;",42.5,50,"","BitBucket Code Source",null,null,this.getTagsForStencil("mxgraph.azure","bitbucket_code_source","").join(" ")),this.createVertexTemplateEntry(a+"biztalk_services;",
-50,50,"","BizTalk Services",null,null,this.getTagsForStencil("mxgraph.azure","biztalk_services","").join(" ")),this.createVertexTemplateEntry(a+"certificate;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.azure","certificate","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",50,32.5,"","Cloud",null,null,this.getTagsForStencil("mxgraph.azure","cloud","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.azure",
-"cloud_service","").join(" ")),this.createVertexTemplateEntry(a+"cloud_services_configuration_file;",47.5,50,"","Cloud Services Configuration File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_services_configuration_file","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service_package_file;",42.5,50,"","Cloud Service Package File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service_package_file","").join(" ")),this.createVertexTemplateEntry(a+"codeplex_code_source;",
-50,37.5,"","CodePlex Code Source",null,null,this.getTagsForStencil("mxgraph.azure","codeplex_code_source","").join(" ")),this.createVertexTemplateEntry(a+"code_file;",47.5,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.azure","code_file","").join(" ")),this.createVertexTemplateEntry(a+"computer;",50,45,"","Computer",null,null,this.getTagsForStencil("mxgraph.azure","computer","").join(" ")),this.createVertexTemplateEntry(a+"content_delivery_network;",50,32.5,"","Content Delivery Network",
-null,null,this.getTagsForStencil("mxgraph.azure","content_delivery_network","").join(" ")),this.createVertexTemplateEntry(a+"database;",37.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.azure","database","").join(" ")),this.createVertexTemplateEntry(a+"dropbox_code_source;",50,47.5,"","DropBox Code Source",null,null,this.getTagsForStencil("mxgraph.azure","dropbox_code_source","").join(" ")),this.createVertexTemplateEntry(a+"enterprise;",30,50,"","Enterprise",null,null,this.getTagsForStencil("mxgraph.azure",
-"enterprise","").join(" ")),this.createVertexTemplateEntry(a+"express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.azure","express_route","").join(" ")),this.createVertexTemplateEntry(a+"file;",47.5,50,"","File",null,null,this.getTagsForStencil("mxgraph.azure","file","").join(" ")),this.createVertexTemplateEntry(a+"file_2;",47.5,50,"","File 2",null,null,this.getTagsForStencil("mxgraph.azure","file_2","").join(" ")),this.createVertexTemplateEntry(a+"github_code;",50,50,
-"","GitHub Code",null,null,this.getTagsForStencil("mxgraph.azure","github_code","").join(" ")),this.createVertexTemplateEntry(a+"git_repository;",50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.azure","git_repository","").join(" ")),this.createVertexTemplateEntry(a+"hdinsight;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.azure","hdinsight","").join(" ")),this.createVertexTemplateEntry(a+"healthy;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.azure",
-"healthy","").join(" ")),this.createVertexTemplateEntry(a+"health_monitoring;",50,42.5,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.azure","health_monitoring","").join(" ")),this.createVertexTemplateEntry(a+"hyper_v_recovery_manager;",50,45,"","Hyper-V Recovery Manager",null,null,this.getTagsForStencil("mxgraph.azure","hyper_v_recovery_manager","").join(" ")),this.createVertexTemplateEntry(a+"laptop;",50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.azure","laptop",
-"").join(" ")),this.createVertexTemplateEntry(a+"load_balancer_generic;",37.5,50,"","Load Balancer Generic",null,null,this.getTagsForStencil("mxgraph.azure","load_balancer_generic","").join(" ")),this.createVertexTemplateEntry(a+"media_service;",45,50,"","Media Service",null,null,this.getTagsForStencil("mxgraph.azure","media_service","").join(" ")),this.createVertexTemplateEntry(a+"message;",50,37.5,"","Message",null,null,this.getTagsForStencil("mxgraph.azure","message","").join(" ")),this.createVertexTemplateEntry(a+
-"mobile;",35,50,"","Mobile",null,null,this.getTagsForStencil("mxgraph.azure","mobile","").join(" ")),this.createVertexTemplateEntry(a+"mobile_services;",32.5,50,"","Mobile Services",null,null,this.getTagsForStencil("mxgraph.azure","mobile_services","").join(" ")),this.createVertexTemplateEntry(a+"multi_factor_authentication;",25,50,"","Multi Factor Authentication",null,null,this.getTagsForStencil("mxgraph.azure","multi_factor_authentication","").join(" ")),this.createVertexTemplateEntry(a+"mysql_database;",
-37.5,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.azure","mysql_database","").join(" ")),this.createVertexTemplateEntry(a+"notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.azure","notification_hub","").join(" ")),this.createVertexTemplateEntry(a+"notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.azure","notification_topic","").join(" ")),this.createVertexTemplateEntry(a+"operating_system_image;",
-50,50,"","Operating System Image",null,null,this.getTagsForStencil("mxgraph.azure","operating_system_image","").join(" ")),this.createVertexTemplateEntry(a+"powershell_file;",50,50,"","PowerShell File",null,null,this.getTagsForStencil("mxgraph.azure","powershell_file","").join(" ")),this.createVertexTemplateEntry(a+"queue_generic;",50,15,"","Queue Generic",null,null,this.getTagsForStencil("mxgraph.azure","queue_generic","").join(" ")),this.createVertexTemplateEntry(a+"rdp_remoting_file;",47.5,50,
-"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.azure","rdp_remoting_file","").join(" ")),this.createVertexTemplateEntry(a+"scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.azure","scheduler","").join(" ")),this.createVertexTemplateEntry(a+"script_file;",47.5,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.azure","script_file","").join(" ")),this.createVertexTemplateEntry(a+"server;",50,15,"","Server",null,null,this.getTagsForStencil("mxgraph.azure",
-"server","").join(" ")),this.createVertexTemplateEntry(a+"server_rack;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.azure","server_rack","").join(" ")),this.createVertexTemplateEntry(a+"service_bus;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.azure","service_bus","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_queues;",42.5,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_queues","").join(" ")),this.createVertexTemplateEntry(a+
-"service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_relay","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topics and Subscriptions",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_topics_and_subscriptions","").join(" ")),this.createVertexTemplateEntry(a+"service_endpoint;",50,20,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.azure","service_endpoint",
-"").join(" ")),this.createVertexTemplateEntry(a+"sql_database;",37.5,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.azure","sql_database","").join(" ")),this.createVertexTemplateEntry(a+"sql_database_sql_azure;",47.5,50,"","SQL Database SQL Azure",null,null,this.getTagsForStencil("mxgraph.azure","sql_database_sql_azure","").join(" ")),this.createVertexTemplateEntry(a+"sql_datasync;",37.5,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.azure","sql_datasync","").join(" ")),
-this.createVertexTemplateEntry(a+"sql_reporting;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.azure","sql_reporting","").join(" ")),this.createVertexTemplateEntry(a+"startup_task;",47.5,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.azure","startup_task","").join(" ")),this.createVertexTemplateEntry(a+"storage;",50,40,"","Storage",null,null,this.getTagsForStencil("mxgraph.azure","storage","").join(" ")),this.createVertexTemplateEntry(a+"storage_blob;",50,45,
-"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.azure","storage_blob","").join(" ")),this.createVertexTemplateEntry(a+"storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.azure","storage_queue","").join(" ")),this.createVertexTemplateEntry(a+"storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.azure","storage_table","").join(" ")),this.createVertexTemplateEntry(a+"storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.azure",
+"Isometric Edge 2")])}})();(function(){Sidebar.prototype.addAzurePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.";this.addPaletteFunctions("azure",mxResources.get("azure"),!1,[this.createVertexTemplateEntry(a+"access_control;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.azure","access_control","").join(" ")),this.createVertexTemplateEntry(a+"automation;",50,
+45,"","Automation",null,null,this.getTagsForStencil("mxgraph.azure","automation","").join(" ")),this.createVertexTemplateEntry(a+"autoscale;",50,30,"","AutoScale",null,null,this.getTagsForStencil("mxgraph.azure","autoscale","").join(" ")),this.createVertexTemplateEntry(a+"azure_active_directory;",47.5,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.azure","azure_active_directory","").join(" ")),this.createVertexTemplateEntry(a+"azure_alert;",50,42.5,"","Azure Alert",null,
+null,this.getTagsForStencil("mxgraph.azure","azure_alert","").join(" ")),this.createVertexTemplateEntry(a+"azure_cache;",45,50,"","Azure Cache",null,null,this.getTagsForStencil("mxgraph.azure","azure_cache","").join(" ")),this.createVertexTemplateEntry(a+"azure_instance;",50,50,"","Azure Instance",null,null,this.getTagsForStencil("mxgraph.azure","azure_instance","").join(" ")),this.createVertexTemplateEntry(a+"azure_load_balancer;",50,35,"","Azure Load Balancer",null,null,this.getTagsForStencil("mxgraph.azure",
+"azure_load_balancer","").join(" ")),this.createVertexTemplateEntry(a+"azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.azure","azure_marketplace","").join(" ")),this.createVertexTemplateEntry(a+"azure_sdk;",50,47.5,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.azure","azure_sdk","").join(" ")),this.createVertexTemplateEntry(a+"azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.azure","azure_subscription",
+"").join(" ")),this.createVertexTemplateEntry(a+"azure_website;",50,50,"","Azure Website",null,null,this.getTagsForStencil("mxgraph.azure","azure_website","").join(" ")),this.createVertexTemplateEntry(a+"backup_service;",50,45,"","Backup Service",null,null,this.getTagsForStencil("mxgraph.azure","backup_service","").join(" ")),this.createVertexTemplateEntry(a+"bitbucket_code_source;",42.5,50,"","BitBucket Code Source",null,null,this.getTagsForStencil("mxgraph.azure","bitbucket_code_source","").join(" ")),
+this.createVertexTemplateEntry(a+"biztalk_services;",50,50,"","BizTalk Services",null,null,this.getTagsForStencil("mxgraph.azure","biztalk_services","").join(" ")),this.createVertexTemplateEntry(a+"certificate;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.azure","certificate","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",50,32.5,"","Cloud",null,null,this.getTagsForStencil("mxgraph.azure","cloud","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service;",50,40,
+"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service","").join(" ")),this.createVertexTemplateEntry(a+"cloud_services_configuration_file;",47.5,50,"","Cloud Services Configuration File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_services_configuration_file","").join(" ")),this.createVertexTemplateEntry(a+"cloud_service_package_file;",42.5,50,"","Cloud Service Package File",null,null,this.getTagsForStencil("mxgraph.azure","cloud_service_package_file","").join(" ")),
+this.createVertexTemplateEntry(a+"codeplex_code_source;",50,37.5,"","CodePlex Code Source",null,null,this.getTagsForStencil("mxgraph.azure","codeplex_code_source","").join(" ")),this.createVertexTemplateEntry(a+"code_file;",47.5,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.azure","code_file","").join(" ")),this.createVertexTemplateEntry(a+"computer;",50,45,"","Computer",null,null,this.getTagsForStencil("mxgraph.azure","computer","").join(" ")),this.createVertexTemplateEntry(a+"content_delivery_network;",
+50,32.5,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.azure","content_delivery_network","").join(" ")),this.createVertexTemplateEntry(a+"database;",37.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.azure","database","").join(" ")),this.createVertexTemplateEntry(a+"dropbox_code_source;",50,47.5,"","DropBox Code Source",null,null,this.getTagsForStencil("mxgraph.azure","dropbox_code_source","").join(" ")),this.createVertexTemplateEntry(a+"enterprise;",30,50,"",
+"Enterprise",null,null,this.getTagsForStencil("mxgraph.azure","enterprise","").join(" ")),this.createVertexTemplateEntry(a+"express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.azure","express_route","").join(" ")),this.createVertexTemplateEntry(a+"file;",47.5,50,"","File",null,null,this.getTagsForStencil("mxgraph.azure","file","").join(" ")),this.createVertexTemplateEntry(a+"file_2;",47.5,50,"","File 2",null,null,this.getTagsForStencil("mxgraph.azure","file_2","").join(" ")),
+this.createVertexTemplateEntry(a+"github_code;",50,50,"","GitHub Code",null,null,this.getTagsForStencil("mxgraph.azure","github_code","").join(" ")),this.createVertexTemplateEntry(a+"git_repository;",50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.azure","git_repository","").join(" ")),this.createVertexTemplateEntry(a+"hdinsight;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.azure","hdinsight","").join(" ")),this.createVertexTemplateEntry(a+"healthy;",50,45,"",
+"Healthy",null,null,this.getTagsForStencil("mxgraph.azure","healthy","").join(" ")),this.createVertexTemplateEntry(a+"health_monitoring;",50,42.5,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.azure","health_monitoring","").join(" ")),this.createVertexTemplateEntry(a+"hyper_v_recovery_manager;",50,45,"","Hyper-V Recovery Manager",null,null,this.getTagsForStencil("mxgraph.azure","hyper_v_recovery_manager","").join(" ")),this.createVertexTemplateEntry(a+"laptop;",50,30,"","Laptop",
+null,null,this.getTagsForStencil("mxgraph.azure","laptop","").join(" ")),this.createVertexTemplateEntry(a+"load_balancer_generic;",37.5,50,"","Load Balancer Generic",null,null,this.getTagsForStencil("mxgraph.azure","load_balancer_generic","").join(" ")),this.createVertexTemplateEntry(a+"media_service;",45,50,"","Media Service",null,null,this.getTagsForStencil("mxgraph.azure","media_service","").join(" ")),this.createVertexTemplateEntry(a+"message;",50,37.5,"","Message",null,null,this.getTagsForStencil("mxgraph.azure",
+"message","").join(" ")),this.createVertexTemplateEntry(a+"mobile;",35,50,"","Mobile",null,null,this.getTagsForStencil("mxgraph.azure","mobile","").join(" ")),this.createVertexTemplateEntry(a+"mobile_services;",32.5,50,"","Mobile Services",null,null,this.getTagsForStencil("mxgraph.azure","mobile_services","").join(" ")),this.createVertexTemplateEntry(a+"multi_factor_authentication;",25,50,"","Multi Factor Authentication",null,null,this.getTagsForStencil("mxgraph.azure","multi_factor_authentication",
+"").join(" ")),this.createVertexTemplateEntry(a+"mysql_database;",37.5,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.azure","mysql_database","").join(" ")),this.createVertexTemplateEntry(a+"notification_hub;",50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.azure","notification_hub","").join(" ")),this.createVertexTemplateEntry(a+"notification_topic;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.azure","notification_topic","").join(" ")),
+this.createVertexTemplateEntry(a+"operating_system_image;",50,50,"","Operating System Image",null,null,this.getTagsForStencil("mxgraph.azure","operating_system_image","").join(" ")),this.createVertexTemplateEntry(a+"powershell_file;",50,50,"","PowerShell File",null,null,this.getTagsForStencil("mxgraph.azure","powershell_file","").join(" ")),this.createVertexTemplateEntry(a+"queue_generic;",50,15,"","Queue Generic",null,null,this.getTagsForStencil("mxgraph.azure","queue_generic","").join(" ")),this.createVertexTemplateEntry(a+
+"rdp_remoting_file;",47.5,50,"","RDP Remoting File",null,null,this.getTagsForStencil("mxgraph.azure","rdp_remoting_file","").join(" ")),this.createVertexTemplateEntry(a+"scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.azure","scheduler","").join(" ")),this.createVertexTemplateEntry(a+"script_file;",47.5,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.azure","script_file","").join(" ")),this.createVertexTemplateEntry(a+"server;",50,15,"","Server",null,null,
+this.getTagsForStencil("mxgraph.azure","server","").join(" ")),this.createVertexTemplateEntry(a+"server_rack;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.azure","server_rack","").join(" ")),this.createVertexTemplateEntry(a+"service_bus;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.azure","service_bus","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_queues;",42.5,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_queues",
+"").join(" ")),this.createVertexTemplateEntry(a+"service_bus_relay;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_relay","").join(" ")),this.createVertexTemplateEntry(a+"service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topics and Subscriptions",null,null,this.getTagsForStencil("mxgraph.azure","service_bus_topics_and_subscriptions","").join(" ")),this.createVertexTemplateEntry(a+"service_endpoint;",50,20,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.azure",
+"service_endpoint","").join(" ")),this.createVertexTemplateEntry(a+"sql_database;",37.5,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.azure","sql_database","").join(" ")),this.createVertexTemplateEntry(a+"sql_database_sql_azure;",47.5,50,"","SQL Database SQL Azure",null,null,this.getTagsForStencil("mxgraph.azure","sql_database_sql_azure","").join(" ")),this.createVertexTemplateEntry(a+"sql_datasync;",37.5,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.azure","sql_datasync",
+"").join(" ")),this.createVertexTemplateEntry(a+"sql_reporting;",40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.azure","sql_reporting","").join(" ")),this.createVertexTemplateEntry(a+"startup_task;",47.5,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.azure","startup_task","").join(" ")),this.createVertexTemplateEntry(a+"storage;",50,40,"","Storage",null,null,this.getTagsForStencil("mxgraph.azure","storage","").join(" ")),this.createVertexTemplateEntry(a+"storage_blob;",
+50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.azure","storage_blob","").join(" ")),this.createVertexTemplateEntry(a+"storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.azure","storage_queue","").join(" ")),this.createVertexTemplateEntry(a+"storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.azure","storage_table","").join(" ")),this.createVertexTemplateEntry(a+"storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.azure",
 "storsimple","").join(" ")),this.createVertexTemplateEntry(a+"tablet;",50,37.5,"","Tablet",null,null,this.getTagsForStencil("mxgraph.azure","tablet","").join(" ")),this.createVertexTemplateEntry(a+"team_foundation_service;",50,37.5,"","Team Foundation Service",null,null,this.getTagsForStencil("mxgraph.azure","team_foundation_service","").join(" ")),this.createVertexTemplateEntry(a+"traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.azure","traffic_manager","").join(" ")),
 this.createVertexTemplateEntry(a+"unidentified_code_object;",50,42.5,"","Unidentified Code Object",null,null,this.getTagsForStencil("mxgraph.azure","unidentified_code_object","").join(" ")),this.createVertexTemplateEntry(a+"user;",47.5,50,"","User",null,null,this.getTagsForStencil("mxgraph.azure","user","").join(" ")),this.createVertexTemplateEntry(a+"vhd;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.azure","vhd","").join(" ")),this.createVertexTemplateEntry(a+"vhd_data_disk;",37.5,50,
 "","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*
@@ -4173,8 +4176,8 @@ this.addDataEntry("bootstrap skills",800,480,"Skills","7Zpbc6IwFMc/DY/tEAJeHtdbH
 this.addDataEntry("bootstrap chat",400,660,"Chat","7VpRc+I2EP4tfWD6BCPbmCOPCSTX6TTTm+ShzwIvWHOy5ZNkQvrru5JlDrDvoI2VGKZmQqy1JMv77bf+tMMgmmXbz5IW6aNIgA+i+0E0k0Lo6izbzoDzQUhYMojmgzAk+DcIH35wNbBXSUEl5PqcAWE1YEN5CZWlMij9yp0h1Rkuax4MojuV0kS8YINgI6EqhcQ18Eph+mfbtXmW0QKfQGk8HUlYatNBS/EVZoILaaeNqgOvrBjne/aVPdD+kjINzwVdmnlfcCq0udWC1LD94RNbk3vczyAy0PIVu7ywRKdVjzGpvEJSYOvUDZtMnJGqyrDejf3uQDxxPmz3Z9Q7f+7sbf6UoNjf8JfzTHCuh8P/5uHY2SRwqtkGDuZ/i9fHDa//LtIcLXdCNPxfuxanYIWChi9zkUNLWBLzQTunC+BfhGKaiRyvyer57ihna9PmsLL4oKNZvv7DtuaBGbkSuW6bcS8gzvJ+1O79V8f3UVwN2UMjagEj+rdguDt+EQwXEpJ6fe5u7u7Dul3PIFYrBboB5m7dZ+Ebe2dVqUCeGQk39jgXrHE7WNsjsH4CXtgCXtgNeMOAHKFHPKA3aaD3yJYpBdPnSSxYrpBInlnqWFmTtCatY+mT8+x70PRwwMeQdjh+D9Z+ulzWTv5n7bSBngkS8gyFhmyBfg9JSIKoc3nj9I18RmGCPeJzmZ+YT5O+O9w/Xv68lbwO7k8+uHrTQPs3hu2M5r/0BeF78kDmk5NKK37L1uE0stMWYMfd8Do8pHUQ+QC6zhV7SE8H0W2Mjr0NUKyQ28fOAW/bsbRgXJsOCZzYw9ldyNj39FEYeMQ8aGNzR8n8GHQv7A6CJr2xB+6NiE5Bwmg06gvL5zf384fpGVLNB88PB5yKgI5oPwyOY+DGSww0Sz0XTvw6Mj42CjoTdUdREPpJ/80C1bxkytym1GA65qU0/xMLhGnbZyskpJAnIJmujRvBy0JTO2oD3F4ApUxzyTgrs3oWY4ESv1blmlHTLS85pxUYaChlb7LPCY3xDvpil1X2Y2zq5V0Txl4irFmMu/A8c1UCI/KTVpoVuiegnOPwB9xAkBnNfzVrWmCegA1Y3WEywaxne4xT6uPdhUfoU3g0YsNPQmjW/y48IVy38Ij8yM9mNfA2T4wy2IBREzk1eoGzBUi7LYGssMrBZIil1RIK9YY2qiEXC6tYQFnJgaCgMjHVClFoJqr+30qTZHKWMruIrIDECpRvpemQocpR1eKsKbFpaMsyM6jgCKiVKSs8seqlEEqxzAwxyxFZbu/vBJCiSpUZLoHWa9rvZBVQb/JbT/XNLr67fdeNvZS1g2Zl9MLz2VUJnNgP6M0C6Z9fcdtC5ihzekPv3skXj9XS4S6mauC9KNvw6uql161eYi8F1LClgFqm/amavuG97jHrT/yx/xh1L5o1vLqS6VW96SddJHxsfv+1ZdV9/8eY/wA="),
 this.addDataEntry("bootstrap log in",240,220,"Log in","7ZhLj9owEIB/TY4gJ04CHAtst5W2EupW6tmQgVjrxMjx8uiv7zgxgZAAUZVsD60RUmbs8WO+mbESh86Sw7Ni2/ibjEA49MmhMyWlLp6SwwyEcDzCI4fOHc8j+He8zzd63byXbJmCVLcx8AqDHRPvUGhmMtVKmjELluKG8v5MH4Xtj3WCu5y7Dp1mMYvkHgWCQsSyGCIrYM/WjE8OG3O04RIPlGl8HCoFK9zZdM2FmEkhVT4rXecN9UzwTYq6FR4AsHOqXvkvM1VgpsWdvcGFGckb9uxAab5i4pM113Jrxm/ZiqebH0aYe2bcGk9nJ3T9k2wPZ460j7mGVzQzij1uGHXWRbgCHG66OVdZHz+DTECrIw7Z80jH1tV+gYLEwDexNTvxISwrFJvS9kwNHyy4Zoi0BvEpYbw3dHeJTPJ2B3ATgYtxUd4uAkHAWp9RvuTS3Cc3WCnIcO6f1utuW3reQ3rupIEetToFgmm+g8r8TUTtEgvJcWWPHKrTHAsxvAoJuV5noGsBUe6zVYz4tRjpOjwMqOm71jL94xiJzK+k+OXk6dYY6UOMtAuKbfMy6N3neZo3eLj05JWHS88XFmWeDGlbF/vNLrYGZBhUQrmULzMprCNwvU4SaTCurD4Ie0iksAZ1wbJsL1X00Vdlyxz7X28f1FuX9FFwR/9CwQ0/puBeYeyU07h3TttTfbhHplqQW5fjUT/lOOylHI97SLNJDd93SCBZ4ruDRxLomuUqhtXbUh4uMo42cQ3zdqd4C7YEsZAZ19zk71wV3r9fhoOrek46rLd+Qxj4nYTBiFbLrd9HHLikFggvcoOKr2lf9/LtkpvKFOrsg/F0EozqV/DdV6NHL6fdXsDHisHfuY4HQQfXMYrnjyjF8MtvLL8B"),
 this.addDataEntry("bootstrap log in",240,260,"Log in","7Vhtb5swEP41fJnUyJiXJB+b0HaVOilaJ+2zAw54NTgzbl7263cGE0ghadRCVWmjqorPd+Z8z/OcC5YzT3d3kqyTbyKi3HJuLGcuhVDlXbqbU84tjFhkOYGFMYJfC9+emLWLWbQmkmbqkgBcBmwIf6alZS4yJYX2WZAMEirmc7XnZj5RKWQZ2JYzyxMSiS0MEAwikic0MgOYWWv/dBfrrY2WsKFcwe1IShpCZrMV43wuuJDFqs6quMBOOIszsIWwAQqTM/nI/uilPL0sZPZEG2GouGBmQ6ViIeHXJlyJtfZfk5Bl8Q89CLD2W8HuzIK2W43N5vSWtglT9BHCtGELCYPNlAieQHcny1yYTI3vqEipkntw2bJIJabUbgkFSiiLExOGfWMkeWmID7E1anBjgOsG0WmBaGGf6yorsoStYRRCwJpEERSjcPB/P2uGzVB9a7xMyc541VyojGaT1zZAgTVO1Q5rS3MFPzZ/yxRlyxLpehgg60DDiGYqm7ZXyqJIb7nhVWNQGb0iq1ZK91koSn5q1ZTJLKvJm5QwXlkBkWWdNgI6dkQsSJ5vhYy6gw42vd22sVUVbSzRrOzDCPO03jKR0bZyb3FwE9waKTXswczD7hzsApSz4kU6OvSEyCTN4bk/DVT2pbLDr8rOnnbIrpKipJwotqFH63dJ0TxiIVim2WEScswy+3LovdCyWK1yqlpKPuR5kbjdlrh/iSSzXBRrQo5CkX48EwDeaXF1NPJI/3R02kqqnK5U3ZofilHgok9BC2cQWhRNsHdeeB1Nv18eaKRmz0qJ7M1kqE71EsavVakvxtF9FUenDxgvPWj9wWteHDIdFa5ldVzhQ+XLiINQRs6lJfa6S2wC0Mg74vJh3JSS34bAxr0o6Wpy9PQrfwAhjVugfjHX/8b6yRurO0RjnfwLjXX8uRrrdPCar6t/xs9V+biJXtxCJ8O0UH+QFjoZQDI2auH3naY0Xer3NZTSvsEMExo+LcWuIR+nC1i/uM7Ih5Ml5QuRM8W0GANZlv98T/VeNGH0zua5PwpossLtYIXbCyvGzjErxngIWtgtWjyIGAz32ccfrd1vr95kNvXG7bfXA0Pe8sGo37P1ND0+7qS96uPVFob1h83Svfnd8y8=")];
-this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){var a=Sidebar.prototype.addBpmnPalette;Sidebar.prototype.addBpmnPalette=function(d,e){a.apply(this,arguments);var b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;",c="bpmn business process model gateway ";this.addPaletteFunctions("bpmnGateways","BPMN Gateways",!1,[this.createVertexTemplateEntry(b+"outline=none;symbol=exclusiveGw;",50,50,"","Exclusive Gateway",null,
-null,c+"exclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=parallelGw;",50,50,"","Parallel Gateway",null,null,c+"parallel"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","Inclusive Gateway",null,null,c+"inclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=complexGw;",50,50,"","Complex Gateway",null,null,c+"complex"),this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start Gateway",null,null,c+"general start"),
+this.addPalette("bootstrap",mxResources.get("bootstrap"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){var a=Sidebar.prototype.addBpmnPalette;Sidebar.prototype.addBpmnPalette=function(d,e){a.apply(this,arguments);var b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;",c="bpmn business process model gateway ";this.addPaletteFunctions("bpmnGateways","BPMN Gateways",!1,[this.createVertexTemplateEntry(b+"outline=none;symbol=exclusiveGw;",50,50,"","Exclusive Gateway",
+null,null,c+"exclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=parallelGw;",50,50,"","Parallel Gateway",null,null,c+"parallel"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","Inclusive Gateway",null,null,c+"inclusive"),this.createVertexTemplateEntry(b+"outline=none;symbol=complexGw;",50,50,"","Complex Gateway",null,null,c+"complex"),this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start Gateway",null,null,c+"general start"),
 this.createVertexTemplateEntry(b+"outline=throwing;symbol=general;",50,50,"","General Intermediate Gateway",null,null,c+"general intermediate"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","General End Gateway",null,null,c+"general end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=message;",50,50,"","Message Standard Gateway",null,null,c+"message standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=message;",50,50,"","Message Interrupting Gateway",
 null,null,c+"message interrupting"),this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=message;",50,50,"","Message Non-Interrupting Gateway",null,null,c+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=message;",50,50,"","Message Catching Gateway",null,null,c+"message catching"),this.createVertexTemplateEntry(b+"outline=boundInt;symbol=message;",50,50,"","Message Boundary Interrupting Gateway",null,null,c+"message boundary interrupting"),
 this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=message;",50,50,"","Message Boundary Non-Interrupting Gateway",null,null,c+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=message;",50,50,"","Message Throwing Gateway",null,null,c+"message throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=message;",50,50,"","Message End Gateway",null,null,c+"message end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=timer;",
@@ -4193,7 +4196,7 @@ null,null,c+"multiple standard"),this.createVertexTemplateEntry(b+"outline=event
 "outline=boundInt;symbol=multiple;",50,50,"","Multiple Boundary Interrupting Gateway",null,null,c+"multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=multiple;",50,50,"","Multiple Boundary Non-Interrupting Gateway",null,null,c+"multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=multiple;",50,50,"","Multiple Throwing Gateway",null,null,c+"multiple throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=multiple;",
 50,50,"","Multiple End Gateway",null,null,c+"multiple end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=star;",50,50,"","Multiple Start Gateway",null,null,c+"multiple end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=parallelMultiple;",50,50,"","Parallel Multiple Standard Gateway",null,null,c+"parallel multiple standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=parallelMultiple;",50,50,"","Parallel Multiple Interrupting Gateway",null,null,c+"parallel multiple interrupting"),
 this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Non-Interrupting Gateway",null,null,c+"parallel multiple non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=parallelMultiple;",50,50,"","Parallel Multiple Catching Gateway",null,null,c+"parallel multiple catching"),this.createVertexTemplateEntry(b+"outline=boundInt;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Interrupting Gateway",
-null,null,c+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting Gateway",null,null,c+"parallel multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=end;symbol=terminate;",50,50,"","Terminate Gateway",null,null,c+"terminate")]);b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=ellipsePerimeter;outlineConnect=0;";
+null,null,c+"parallel multiple boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=parallelMultiple;",50,50,"","Parallel Multiple Boundary Non-Interrupting Gateway",null,null,c+"parallel multiple boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=end;symbol=terminate;",50,50,"","Terminate Gateway",null,null,c+"terminate")]);b="shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=ellipsePerimeter;outlineConnect=0;";
 c="bpmn business process model event ";this.addPaletteFunctions("bpmnEvents","BPMN Events",!1,[this.createVertexTemplateEntry(b+"outline=standard;symbol=general;",50,50,"","General Start",null,null,c+"general start"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=general;",50,50,"","General Intermediate",null,null,c+"general intermediate"),this.createVertexTemplateEntry(b+"outline=end;symbol=general;",50,50,"","General End",null,null,c+"general end"),this.createVertexTemplateEntry(b+"outline=standard;symbol=message;",
 50,50,"","Message Standard",null,null,c+"message standard"),this.createVertexTemplateEntry(b+"outline=eventInt;symbol=message;",50,50,"","Message Interrupting",null,null,c+"message interrupting"),this.createVertexTemplateEntry(b+"outline=eventNonint;symbol=message;",50,50,"","Message Non-Interrupting",null,null,c+"message non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=catching;symbol=message;",50,50,"","Message Catching",null,null,c+"message catching"),this.createVertexTemplateEntry(b+
 "outline=boundInt;symbol=message;",50,50,"","Message Boundary Interrupting",null,null,c+"message boundary interrupting"),this.createVertexTemplateEntry(b+"outline=boundNonint;symbol=message;",50,50,"","Message Boundary Non-Interrupting",null,null,c+"message boundary non interrupting noninterrupting"),this.createVertexTemplateEntry(b+"outline=throwing;symbol=message;",50,50,"","Message Throwing",null,null,c+"message throwing"),this.createVertexTemplateEntry(b+"outline=end;symbol=message;",50,50,"",
@@ -4241,7 +4244,7 @@ null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_3p","cabin
 25,25,"","Terminal 4mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2;",2.5,30,"","Terminal 4-6mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2_x10;",25,30,"","Terminal 4-6mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+
 "terminal_6_25mm2;",5,37.5,"","Terminal 6-25mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_6_25mm2_x10;",50,37.5,"","Terminal 6-25mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_40mm2;",11,50,"","Terminal 40mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2","cabinet ").join(" ")),
 this.createVertexTemplateEntry(a+"terminal_40mm2_x10;",50*2.2,50,"","Terminal 40mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2;",12.5,50*1.1,"","Terminal 50mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_50mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2_x10;",125,50*1.1,"","Terminal 50mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets",
-"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.architecture.";this.addPaletteFunctions("cisco_safeArchitecture","Cisco Safe / Architecture",
+"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.architecture.";this.addPaletteFunctions("cisco_safeArchitecture","Cisco Safe / Architecture",
 !1,[this.createVertexTemplateEntry(a+"aci_controller;",50,50,"","ACI Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci controller","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,50,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci leaf switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,50,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
 "aci spine switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,50,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","adaptive security appliance","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"automated_system;",50,50,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","automated system","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+
 "blade_server;",50,50,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","blade server","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"catalyst_switch;",50,50,"","Catalyst Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","catalyst switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"corporate_device;",50,50,"","Corporate Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
@@ -4255,7 +4258,7 @@ this.createVertexTemplateEntry(a+"nexus_fabric_switch;",50,50,"","Nexus Fabric S
 "switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"tls_appliance;",50,50,"","TLS Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","tls appliance","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"unified_access_switch;",50,50,"","Unified Access Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","unified access switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"web_application_firewall;",
 50,50,"","Web Application Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","web application firewall","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"web_security;",50,50,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","web security","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wide_area_application_engine;",50,50,"","Wide Area Application Engine",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture",
 "wide area application engine","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wireless_access_point;",50,50,"","Wireless Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","wireless access point","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"wireless_lan_controller;",50,50,"","Wireless LAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","wireless lan controller","cisco safe architecture").join(" "))])};
-Sidebar.prototype.addCiscoSafeCapabilityPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#28A8E0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.capability.";this.addPaletteFunctions("cisco_safeCapability","Cisco Safe / Capability",!1,[this.createVertexTemplateEntry(a+"access_control_using_trustsec;",50,50,"","Access Control Using TrustSec",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","access control using trustsec",
+Sidebar.prototype.addCiscoSafeCapabilityPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#28A8E0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.capability.";this.addPaletteFunctions("cisco_safeCapability","Cisco Safe / Capability",!1,[this.createVertexTemplateEntry(a+"access_control_using_trustsec;",50,50,"","Access Control Using TrustSec",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","access control using trustsec",
 "cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"analysis_correlation",50,50,"","Analysis Correlation",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","analysis correlation","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anomaly_detection;",50,50,"","Anomaly Detection",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anomaly detection","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_malware;",
 50,50,"","Anti-Malware",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti malware","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_spam;",50,50,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti spam","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"anti_virus;",50,50,"","Anti-Virus",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","anti virus","cisco safe capability").join(" ")),
 this.createVertexTemplateEntry(a+"application;",50,50,"","Application",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","application","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"application_visibility_control;",50,50,"","Application Visibility Control",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","application visibility control","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"client_based_security;",50,50,"","Client Based Security",
@@ -4278,10 +4281,10 @@ null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","virtual firewa
 null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","vulnerability management","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_application_firewall;",50,50,"","Web Application Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","web application firewall","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_reputation_filtering_dcs;",50,50,"","Web Reputation Filtering DCS",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability",
 "web reputation filtering dcs","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"web_security;",50,50,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","web security","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_connection;",50,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless connection","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_intrusion_detection_system;",
 50,50,"","Wireless Intrusion Detection System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless intrusion detection system","cisco safe capability").join(" ")),this.createVertexTemplateEntry(a+"wireless_intrusion_prevention_system;",50,50,"","Wireless Intrusion Prevention System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.capability","wireless intrusion prevention system","cisco safe capability").join(" "))])};Sidebar.prototype.addCiscoSafeDesignPalette=function(){var a=
-mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#A153A0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.design.";this.addPaletteFunctions("cisco_safeDesign","Cisco Safe / Design",!1,[this.createVertexTemplateEntry(a+"access_point;",50,45,"","Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","access point","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_controller;",50,45,"","ACI Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
-"aci controller","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,45,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci leaf switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,45,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci spine switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_1;",23.5,50,"","Actor (female)",
-null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor female","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_2;",19,50,"","Actor (male)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor male","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,45,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","adaptive security appliance","cisco safe design").join(" ")),
-this.createVertexTemplateEntry(a+"automated_system;",50,45,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","automated system","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blade_server;",50,45,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blade server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_device;",50,45,"","Blank Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#A153A0;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.design.";this.addPaletteFunctions("cisco_safeDesign","Cisco Safe / Design",!1,[this.createVertexTemplateEntry(a+"access_point;",50,45,"","Access Point",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","access point","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_controller;",50,45,"","ACI Controller",null,null,
+this.getTagsForStencil("mxgraph.cisco_safe.design","aci controller","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,45,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci leaf switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"aci_spine_switch;",50,45,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","aci spine switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+
+"actor_1;",23.5,50,"","Actor (female)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor female","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"actor_2;",19,50,"","Actor (male)",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","actor male","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,45,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","adaptive security appliance",
+"cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"automated_system;",50,45,"","Automated System",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","automated system","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blade_server;",50,45,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blade server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_device;",50,45,"","Blank Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
 "blank device","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"blank_service;",50,45,"","Blank Service",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","blank service","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"call_manager;",50,45,"","Call Manager",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","call manager","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"catalyst_data_center_switch;",50,45,"","Catalyst Data Center Switch",
 null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","catalyst data center switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"catalyst_switch_stack;",50,45,"","Catalyst Switch Stack",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","catalyst switch stack","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"cisco_amp;",50,45,"","Cisco Amp",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco amp amplifier","cisco safe design").join(" ")),
 this.createVertexTemplateEntry(a+"cisco_anyconnect;",50,45,"","Cisco AnyConnect",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco anyconnect","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"cisco_cloud_web_security;",50,45,"","Cisco Cloud Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","cisco cloud web security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"client_firewall;",50,45,"","Client Firewall",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
@@ -4296,22 +4299,22 @@ null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","nexus fabric switc
 this.getTagsForStencil("mxgraph.cisco_safe.design","users","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"virtual_secure_server;",50,45,"","Virtual Secure Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","virtual secure server","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vload_balancer;",50,45,"","vLoad Balancer",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vload balancer","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+
 "vwaf_security;",50,45,"","vWAF Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vwaf security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vweb_security;",50,45,"","vWeb Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vweb security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"vwlan_controller;",50,45,"","vWLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","vwlan controller","cisco safe design").join(" ")),
 this.createVertexTemplateEntry(a+"web_security;",50,45,"","Web Security",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","web security","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wireless_corporate_device;",50,45,"","Wireless Corporate Device",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wireless corporate device","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wireless_switch;",50,45,"","Wireless Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design",
-"wireless switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wlan_controller;",50,45,"","WLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wlan controller","cisco safe design").join(" "))])};Sidebar.prototype.addCiscoSafeThreatPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#F06650;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;shape=mxgraph.cisco_safe.threat.";this.addPaletteFunctions("cisco_safeThreat","Cisco Safe / Threat",
-!1,[this.createVertexTemplateEntry(a+"threat_a1;",49,50,"","Threat A1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a2;",49,50,"","Threat A2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a3;",49,50,"","Threat A3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_a4;",49,50,"","Threat A4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a5;",49,50,"","Threat A5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a6;",49,50,"","Threat A6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_a7;",49,50,"","Threat A7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a8;",49,50,"","Threat A8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b1;",31.5,50,"","Threat B1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b2;",31.5,50,"","Threat B2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b3;",31.5,50,"","Threat B3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b4;",31.5,50,"","Threat B4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b5;",31.5,50,"","Threat B5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b6;",31.5,50,"","Threat B6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b7;",31.5,50,"","Threat B7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_b8;",31.5,50,"","Threat B8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c1;",50,40.5,"","Threat C1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c2;",50,40.5,"","Threat C2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_c3;",50,40.5,"","Threat C3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c4;",50,40.5,"","Threat C4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c5;",50,40.5,"","Threat C5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_c6;",50,40.5,"","Threat C6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c7;",50,40.5,"","Threat C7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c8;",50,40.5,"","Threat C8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d1;",46.5,50,"","Threat D1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d2;",46.5,50,"","Threat D2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d3;",46.5,50,"","Threat D3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d4;",46.5,50,"","Threat D4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d5;",46.5,50,"","Threat D5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d6;",46.5,50,"","Threat D6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_d7;",46.5,50,"","Threat D7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d8;",46.5,50,"","Threat D8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e1;",50,47,"","Threat E1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e2;",50,47,"","Threat E2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e3;",50,47,"","Threat E3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e4;",50,47,"","Threat E4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e5;",50,47,"","Threat E5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e6;",50,47,"","Threat E6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e7;",50,47,"","Threat E7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),
-this.createVertexTemplateEntry(a+"threat_e8;",50,47,"","Threat E8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" "))])}})();(function(){Sidebar.prototype.addCitrixPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;aspect=fixed;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;outlineConnect=0;shape=mxgraph.citrix.";this.addPaletteFunctions("citrix","Citrix",!1,[this.createVertexTemplateEntry(a+"1u_2u_server;",100,39.1,"","1U 2U Server",null,null,this.getTagsForStencil("mxgraph.citrix","1U 2U Server","").join(" ")),this.createVertexTemplateEntry(a+"access_card;",55.5,75,"","Access Card",
-null,null,this.getTagsForStencil("mxgraph.citrix","Access Card","").join(" ")),this.createVertexTemplateEntry(a+"branch_repeater;",100,39,"","Branch Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Branch Repeater","").join(" ")),this.createVertexTemplateEntry(a+"browser;",47.5,72.5,"","Browser",null,null,this.getTagsForStencil("mxgraph.citrix","Browser","").join(" ")),this.createVertexTemplateEntry(a+"cache_server;",71,97.5,"","Cache Server",null,null,this.getTagsForStencil("mxgraph.citrix",
+"wireless switch","cisco safe design").join(" ")),this.createVertexTemplateEntry(a+"wlan_controller;",50,45,"","WLAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.design","wlan controller","cisco safe design").join(" "))])};Sidebar.prototype.addCiscoSafeThreatPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#F06650;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;shape=mxgraph.cisco_safe.threat.";this.addPaletteFunctions("cisco_safeThreat",
+"Cisco Safe / Threat",!1,[this.createVertexTemplateEntry(a+"threat_a1;",49,50,"","Threat A1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a2;",49,50,"","Threat A2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a3;",49,50,"","Threat A3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a4;",49,50,"","Threat A4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a5;",49,50,"","Threat A5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a6;",49,50,"","Threat A6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a7;",49,50,"","Threat A7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_a8;",49,50,"","Threat A8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b1;",31.5,50,"","Threat B1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat",
+"cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b2;",31.5,50,"","Threat B2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b3;",31.5,50,"","Threat B3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b4;",31.5,50,"","Threat B4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b5;",31.5,50,"","Threat B5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b6;",31.5,50,"","Threat B6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b7;",31.5,50,"","Threat B7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_b8;",31.5,50,"","Threat B8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c1;",50,40.5,"","Threat C1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c2;",50,40.5,"","Threat C2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c3;",50,40.5,"","Threat C3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c4;",50,40.5,"","Threat C4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c5;",50,40.5,"","Threat C5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c6;",50,40.5,"","Threat C6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c7;",50,40.5,"","Threat C7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_c8;",50,40.5,"","Threat C8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d1;",46.5,50,"","Threat D1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d2;",46.5,50,"","Threat D2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d3;",46.5,50,"","Threat D3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d4;",46.5,50,"","Threat D4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d5;",46.5,50,"","Threat D5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d6;",46.5,50,"","Threat D6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d7;",46.5,50,"","Threat D7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_d8;",46.5,50,"","Threat D8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e1;",50,47,"","Threat E1",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e2;",50,47,"","Threat E2",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e3;",50,47,"","Threat E3",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e4;",50,47,"","Threat E4",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e5;",50,47,"","Threat E5",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e6;",50,47,"","Threat E6",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e7;",50,47,"","Threat E7",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat",
+"threat","cisco safe threat").join(" ")),this.createVertexTemplateEntry(a+"threat_e8;",50,47,"","Threat E8",null,null,this.getTagsForStencil("mxgraph.cisco_safe.threat","threat","cisco safe threat").join(" "))])}})();(function(){Sidebar.prototype.addCitrixPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;aspect=fixed;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;strokeColor=none;align=center;outlineConnect=0;shape=mxgraph.citrix.";this.addPaletteFunctions("citrix","Citrix",!1,[this.createVertexTemplateEntry(a+"1u_2u_server;",100,39.1,"","1U 2U Server",null,null,this.getTagsForStencil("mxgraph.citrix","1U 2U Server","").join(" ")),this.createVertexTemplateEntry(a+"access_card;",55.5,
+75,"","Access Card",null,null,this.getTagsForStencil("mxgraph.citrix","Access Card","").join(" ")),this.createVertexTemplateEntry(a+"branch_repeater;",100,39,"","Branch Repeater",null,null,this.getTagsForStencil("mxgraph.citrix","Branch Repeater","").join(" ")),this.createVertexTemplateEntry(a+"browser;",47.5,72.5,"","Browser",null,null,this.getTagsForStencil("mxgraph.citrix","Browser","").join(" ")),this.createVertexTemplateEntry(a+"cache_server;",71,97.5,"","Cache Server",null,null,this.getTagsForStencil("mxgraph.citrix",
 "Cache Server","").join(" ")),this.createVertexTemplateEntry(a+"calendar;",75,100,"","Calendar",null,null,this.getTagsForStencil("mxgraph.citrix","Calendar","").join(" ")),this.createVertexTemplateEntry(a+"cell_phone;",25,60,"","Cell Phone",null,null,this.getTagsForStencil("mxgraph.citrix","Cell Phone","").join(" ")),this.createVertexTemplateEntry(a+"chassis;",137.5,177.5,"","Chassis",null,null,this.getTagsForStencil("mxgraph.citrix","Chassis","").join(" ")),this.createVertexTemplateEntry(a+"citrix_hdx;",
 77.5,41,"","Citrix HDX",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix HDX","").join(" ")),this.createVertexTemplateEntry(a+"citrix_logo;fillColor=#4E4F53;",160,62.5,"","Citrix Logo",null,null,this.getTagsForStencil("mxgraph.citrix","Citrix Logo","").join(" ")),this.createVertexTemplateEntry(a+"cloud;",95,62,"","Cloud",null,null,this.getTagsForStencil("mxgraph.citrix","Cloud","").join(" ")),this.createVertexTemplateEntry(a+"command_center;",75.5,96,"","Command Center",null,null,this.getTagsForStencil("mxgraph.citrix",
 "Command Center","").join(" ")),this.createVertexTemplateEntry(a+"database;",42.5,50,"","Database",null,null,this.getTagsForStencil("mxgraph.citrix","Database","").join(" ")),this.createVertexTemplateEntry(a+"database_server;",80,90,"","Database Server",null,null,this.getTagsForStencil("mxgraph.citrix","Database Server","").join(" ")),this.createVertexTemplateEntry(a+"datacenter;",127.5,135,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.citrix","Datacenter","").join(" ")),this.createVertexTemplateEntry(a+
@@ -4735,22 +4738,22 @@ this.addDataEntry("gmdl google media design library grid list grid style",358,64
 this.addDataEntry("gmdl google media design library grid list grid style",358,642,"Grid Style","7Vtdb6M4FP01kWYfWoHNR3hs0sm87Eij3ZXmceQQJ6AajIynm+yvXxM+CjE0JrHbNClVpdixwZxzz73cizOB82T7jaEs+k5XmEzg1wmcM0p5+SnZzjEhE2DFqwl8nABgif8JWAx8a++/tTLEcMpVJoBywjMiv3HZU3bkfEeqjhXKI1wMtyZwlkcoK/oZDsX5Z+uYkDkllO2HwvX+KIZxRp9w/U1KUzFnVl0KM463g8vdd1Vr/YZpgjnbiSH/xiselSOgOy2nRTjeRNU0z6kWjvKyY9PMfbl78aECoB8MKIFhi7U8QGsUJojEm7Rolqs7xAg8wmDqDWG0pilvDV7sj2JwhsI43fxV3bHz0vUPzUSHXc39u1qjVbfj/4qmDUWb4Vy0flZI2qqMgNMYAU7ZxzBBPH7GnfOfw5Jzoskm200hs/tNsiL3nGa/loiNpUcJMNgPWHfCrlLnvVu2W3A6noymPRbN6vo/aCyW1Vz8LgCdy9/53TPQ9TrHXGKjuQslglyJoAV6pizmOB8lpH6BdOmCgeMHfq9xt8y/wOOYtEod3RVCKfiNQ0QeKiUn8WpVLLiRNsFr/jLzz33r0QeGFeX659nAritMrZx7OkSZMbzGAqZQGIoa/U3AUcLd7cf9FSnWWHWk6GmRYn2aWolTA6z4OljJMWJhJBHSRr/NSkVUObjWo7I0BihS9p12n+/UQ9id55pnbKqHMc6FX3pTESkz5JojqFarSYICiaAHxGgqumY4TQXwo0KcHLVUCLP2h+inRQDixe2Cwwc+R454zbRLjW+ulvg2tQ3QblvHhVlzi0JeQG5Ae8H4AAZknOt85ky5gQN3aLsmcLdlvS2XuLjrecTinOM0x+kozZ2jsFefMm9Yczb0TJCvUJ0wLzp7oCRxzaqTKyHCbgvN0TSlTH8a1zDyKbABgQVGoppCLeUUgc0eiz9lgQ0UTK5ZYHKN5C01ZdLgPT0G31TB9OKupU7BMcFZ1M5zjxSpFq49c5XlcEKZwpJ5GF1/VZQDMEGLXKj44rnWH6LLdV1xTehINAkIuY7wIKtDU8A4gcf+QvqZfq1m7nCKHubkgsV3uowFsgp8QZkv13IWzuK2+FJ98WHLtYcTnFeE0g39rRpERkbys8t3vn77r6tDjnXgySwDegAKdYLbDuzQNuGHgFwn+AIBrCOI50+DjxdBSmO68ghSC6TF3E/Knj5e/Hg3tlTjR8/+hguLH0MQ3lD8GJGRk7gnA2l7rO47OFulnHlOANnWvACr9vHtHGXa82pOk2eCvolksWcjw2cs7+IeGMFdS5KeoJgov7RuJ+knvrm+rN0Fb/EqtGd7gQilYVUidiy8RUlG8H1IE5VofmHPXreQvfdsN/iBWU5TRFQYu7Dnr0vP33v2DnzGk46VO64JK4dyTi5M7te1OKrxmwI+nqOCcnr/QZPE92JLeQ+8nI5rd1KNWvQ6qV1nwjEEnakee3dMPFpBLan6EoVPYx6BBxJHZeOGRxPD7suk3gy+75lY0+Z3v3N1I3vf4Yj8XcyMs7w3hX83hq6fIIWk/lWX9p7s+NdGj2i+/NatHN7+Kdz/"),
 this.addDataEntry("gmdl google media design library grid list two line grid list",358,642,"Two-line grid list","7VvRcto4FP0aP8LYMtjmEUjTzm7SySSd6ey+7KhYYE1ki8oiQL++kiUDjgxriA2YqTtt0LVkyffcc3S5VSx3HK8+MziPHmmIiOV+stwxo5SrT/FqjAixgI1Dy72zALDFXwvc77nrZHftOWQo4VUGADXgDZIFUhZlSPmaaEMI0wjJ7rbljtIIzqWdoYl4/miKCRlTQlnW1bWzS3bjjL6i/E5CEzFmpKdCjKPV3uVmJr3Wz4jGiLO16LLEIY9UD7cfqGERwrNID/N6euEwVYbZZuz27cUH7YByZ7iGMxyxlqFrH+UTSPAskU21uuN8NKUJ3+k8zS7ZeQ4nOJk96zfubU3f6FwYHD32Ra/Rztv4l2w6rmgzlIrWd+1Jpyoi4DREQE/ZGCKQ4zdUeP5HUOqdGLLxaiZp1p3FIelyOv/vB2QfClW33DHFAWvNwm5ftXfc1vNMrznHek3P/0SxWNZm8s4AFKbv+MUn0Ok0Rdzw+uYtKgHRN4AYMbpM0VFsKWdBkTIgu0ojeCfGgW3y5z673pOlI9kgwcUTSIaarjEOQ7ngDX8JmvLtyIesdeeDhmnT9z8WAOsi+2oF3KuDeblbC7gXpC67k4Nc2d/9cn8f4J9Txj+vFv7l3MjpFzSAhl8HGjFkM5w8Ky5KSj5mBu34rUERp2jTlOgAk7GjO/lnH73FSkK61MsyOa0sX3JUatyoHH9QAnng1kK5wGkA5MAAWSIB7Aec8rQ+vBW8vYItzzUkvMsIc/QilFA+cCkedyBVeS+sXD77varu5ib9rcrKprdtjijnNM7fpyDh3oHMisqeXMIC+vti8MRkyD8txnynoWRoYMTHMOERTeSi7hlCMUwsIJ5i/4sSI1zEi/IjwS3uhhlWezfSXYydZl3umy7XX3w+ymrXa4DVjn1p7c7Jfe3ivTqwfbdOzB3HZCvhiCVqpY2quWbsucU8uGYxVzS8IjV3zHLMF9EjooskTJWO3yOCV+LndwminC4Jxb/dbrcBdQ/OoO6VMGibvJuFpAblvSVp+OaLGAgqa/mxPDunlptlqDuYTGpX8fJt+zpz8uBCMr6nEPd/8eUNmpJxszL2iBmMhOlx8hVhoqT8CS7kqK94Rduam1dyfdvUu5YyV1X1bmsifmtyblbTPhEBEqMJnjSr6ZKv15uaX0rTvWvT9JJKnAyO1UqJ+VC8PZQDntEbfpOf2pmOV/F72wTdLJI1KOhtS8f7nn8D+g3MitqTLJT/ScbPLdyDKxNuYBbdXha6KD6Csnjyl3j5BuT6LPl3FW+3TK5zdf6Tf1fKv29Ev82S2bMlo9SD8TxznT1qVs2vukB+ITHfF4yXE3Oz6jZilL6SdSJz8KzvC4dMF8v/FqPlettbHq+EQNsE3iyPPciVp1b+3xljGCMGFf9JTiDRnGxA8X4u5BFZ4UR3kF27ph2Yc6N8QGepHTQUXRLKYvktbTvKm8mf/ywSmM8qXkRNrG6doD9zAteImSHlZde7MHHztp7BMYWkJMWIeEwKW05dBzw3O47jgcKe4xj7jRAjMwT79YRgZ9DE4amTz7IdcWxxo9D14rIfhbLzhL2gHhR6jaBQyxm2H3DyakCyq9uHT2AffdIQ7KmRbAgDjBzNzNB6JQlaTWd//cLsjRz9LTmXZgCXYyVG4nmKrgqh2weoQs3roKRdEh3/1uARze2v9Kjuu7/x8xs="),
 this.addDataEntry("gmdl google media design library grid list two line grid list",358,642,"Two-line grid list","7Zttc6I6FMc/jS/bIQmCvlS0u/fOdm+n7cy+3EGNklkgTshtdT/9hoegkGARsGuZ4nRajgkP55f/OeGQDpAT7L4wd+vd0xX2B2g+QA6jlKd/BTsH+/4AGmQ1QLMBhIb4GcC7im9B8q2xdRkOeZ0OMO3w4vr/49SSGiK+9zPDyo08HDc3Bmgaee42tjO8FMefronvO9SnLGmK1skWN+OM/sLym5CGos80OxVmHO8qLzcxZdf6BdMAc7YXTV7JintpCzQcpd08TDZe1s0yswt3o9Swyfse7l78kTlA7wykOAOIa5kg4yyfuD7ZhPFuenVlH4Gxbc1glY/WNORah27dJQk3j9kdmwfTM90KA8j6PmXXaMh98jveBUjsMxyJvR+ZJ0FdIrAZEWimNoZ9l5MXXDh+G0pmwyEb7DaxzG43wcq/5XT7c+GyVkMV6R1T7LDPVHg7TPeP3GZaqtfAuV7Lzv9Aibis/OQ3Y1g4/Y1dPAJdryPMFa/nd1ELxLBd7NCP/6JYIBhbd+8/dgEw2mHYFzXQqdstxe1P2GVLT9geMN0K18cx33KDbeIl48F3lzhqoJHAZRsSPqa0Ymj3iUE0s2riy8NXKaxNk48mRJXC3NBojn7YMJGcS75u2LK7CFtRSrrsfeFSK9lKCDIqaWPpQVjXg5begyciGtBpadRJRIOlgDa+gLJGXSB6oWSJaxM6tneLqXYaAkCTvFvGP5mGbKNITcbVTrGNu1EW5yLyRDUjWw7tXRDpJgrdyOoGFc9+EV1J6scp62E+F7+N2T+Tbwot4crjifRS+BEzNYvcJZtm4hvTIEvXn2QHCMhq5eNSujE7Ty37QoeCwsYqQLMlQAlMHqdbYkAh9jh35t+fn/oCayfVhsRWkEAv+KnP9c5/358nTg8Bijhs9w+gWou4pwsST+5L+E5XZKaz+FOV1ETfFX3NOMoB4OM112BdUM5pcJijy2Sa7n1LOs2AdTBNsw6z0YnBpI6J1PJVgurwUQ/YuukpsjoZBgANLzEM1GKH4CEMDg1DyqLiox4a2wjl/lIl/uoRjp8Endj8KuY+bxecjrnWFrrHA79A82zNg4raSrXCdWzbzmJzhV/iMR6o5ZNPhTdReJ4INI82tibuX7ni1fLOZLHA8Y06HiMRx2GEw6vXfT2Vnz2R1vG8bpWrZZ9PlTdRef50LHRn1gv/Vy50tdp07ya3+i/1woj2ReN2/zO5WoD61HgXmfwtzX+45A7VQtiUEc5dYftKfd4TyY97n9ahWh+7nNjfL7ea0Br1IbdKGv3AUxkWK3B9vLCoFrs+MK4cj2UasJ6a7G5i3YXo1Fhw83HoVIqpgpZGTNdNq8aqHElL9CTbCFeBqVqLcwH3q3OCoead57BlEJPvPOWL/vyttJzBd0tCreQoJGoswqEMV68WrFhuU4/Q6RcrsPjqHmgyjQaRvMc2K2UaL5U5Y2GZkWzNC9SnY786nLVrja76DVQ3q2EW7vKXgqSwMqyCS8PFMLCi3JDHHViO+5qqsami6mpdZvFN5UWWZdZZD/NWBvibhHoPCKlVgEpA2pD2N+nYfcMjdg//bpE2P/5vjD8=")];
-this.addPalette("gmdlGrid Lists","GMDL / Grid Lists",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLIconsPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Edit",null,null,this.getTagsForStencil("mxgraph.gmdl","edit","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Star",null,null,this.getTagsForStencil("mxgraph.gmdl","star","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Heart",null,null,this.getTagsForStencil("mxgraph.gmdl","heart","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;",20,
-18,"","Reply",null,null,this.getTagsForStencil("mxgraph.gmdl","reply","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.users;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Users",null,null,this.getTagsForStencil("mxgraph.gmdl","users","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-20,20,"","GPS",null,null,this.getTagsForStencil("mxgraph.gmdl","gps","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Share",null,null,this.getTagsForStencil("mxgraph.gmdl","share","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Navigate",null,null,this.getTagsForStencil("mxgraph.gmdl","navigate","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.chat;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Chat",null,null,this.getTagsForStencil("mxgraph.gmdl","chat","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-12,20,"","Voice",null,null,this.getTagsForStencil("mxgraph.gmdl","voice","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;",16,24,"","Google",null,null,this.getTagsForStencil("mxgraph.gmdl","google","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;",
-24,16,"","Video",null,null,this.getTagsForStencil("mxgraph.gmdl","video","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;",24,22,"","Gallery",null,null,this.getTagsForStencil("mxgraph.gmdl","gallery","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;",
-24,22,"","Birthday",null,null,this.getTagsForStencil("mxgraph.gmdl","birthday","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Cloud",null,null,this.getTagsForStencil("mxgraph.gmdl","cloud","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.x;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",
-16,16,"","X",null,null,this.getTagsForStencil("mxgraph.gmdl","x","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;",12,20,"","Bookmark",null,null,this.getTagsForStencil("mxgraph.gmdl","bookmark","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Calendar",null,null,this.getTagsForStencil("mxgraph.gmdl","calendar","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;shadow=0;strokeWidth=1;",22,18,"","Attraction",null,null,this.getTagsForStencil("mxgraph.gmdl","attraction","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;",
-18,20,"","Dining",null,null,this.getTagsForStencil("mxgraph.gmdl","dining","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Education",null,null,this.getTagsForStencil("mxgraph.gmdl","education","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Family",null,null,this.getTagsForStencil("mxgraph.gmdl","family","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Health",null,null,this.getTagsForStencil("mxgraph.gmdl","health","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Office",null,null,this.getTagsForStencil("mxgraph.gmdl","office","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Promotion",null,null,this.getTagsForStencil("mxgraph.gmdl","promotion","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Radio",null,null,this.getTagsForStencil("mxgraph.gmdl","radio","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Recipe",null,null,this.getTagsForStencil("mxgraph.gmdl","recipe","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;",
-20,20,"","Sports",null,null,this.getTagsForStencil("mxgraph.gmdl","sports","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;shadow=0;direction=south;",20,20,"","Travel",null,null,this.getTagsForStencil("mxgraph.gmdl","travel","gmdl google media design library icon ").join(" "))];this.addPalette("gmdlIcons","GMDL / Icons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};
-Sidebar.prototype.addGMDLListsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library list scannable list",358,642,"Scannable list","7Vtdk+IoFP01PraVgJ+Po07Py07V1HRX7eMWGkxYk5ABHNv99XshSWsktjEm3Y52umwFgdzcw4XDETp4Gr18EyQJvnOPhh38tYOngnOVfopepjQMO8hhXgfPOgg58OqgxyPfuuZbJyGCxqpKBZRW+E3CNU1z0gyptmGW4REZUF3c6eCJDEii8wVdQPuTJQvDKQ+5MEXx0ly6mBJ8RfNvYh5DnUl2KyoUfTlqrsnKbP1GeUSV2EKRDfNUkJbA/VFaLaDMD7Jqg15mOJFphv9ad/f08CFzQLkzsOUMF2z5gp2zfEJC5sc6mVp36CPHGY4Hk2M+WvJY7RV+NJcunJAFi/2f2RP3dlnPPIEMN6v7lNno5Gn2n066GNKCSkj9nXnSrYoIqocI6qV5goZEsd+00P4lKPVqdtnoxddh1vUjL+wqnvwzJ8KGB83weDS4qAvjcocVK2yz6Oz20/SeO3sD25vuud7M7v+DMzDr9eYPY1S4/cOw2AJfLiVVFhqvT1EJoL4F0CMFNLTxxKPirGAqD5LDiBoPRqPSDr4XAsg5HV5pLD3oYNEYswUJv2TRHDHP0wa/hndIl2pX8y+Tmg1Ry1HVH17WD7bF4GwU90ETgZkIuqTgpgWVleHvITyp6vd+ud/fCMfcV4VwHDQSjnkzeTSOWkBl2AQqAAoEV2Ahsu/+Y7CkNfKorBwgR4CqPIq6ZaNoM7A9DPrt4zZqAjcwQ8Ho9K6hVBmhfnsA5THbJkDj0wDVYsvwDTVXCqrHNxnC78vfXAc3MtWM3BZ87zqW82dkm1KMJKHw9F4XUs8Bhf+KRgmVykDDTDOC+IaQbBi4ADnr2GMRi5mJpkMMwbUau03AFH2CyV5nbyDCbDbhmKuEOyhNKw6Jwz477++IhE4OdskJV4pHeYgXWIpem9TtE+OTfQL1Sqa9gXNml6jK6V3XwnPKRWxAmlO61OYLLhdsDe6AhC84gNbtds+Bq0jV9r2cL6v28zrli6hjmJ/Gq//ucKFz4SqP4F4bo6drKw86qB2Iw3fFFNmYjs1125gOURuY2gJKDc4SEeGz+Gc6ZeqZ87vJyMHa5WSgpwPhwdw6mem/i5bxRwB6OQBnn3Lmnbp0Hr1ofKwgenySDagwamNh69qKBjALobnFJn2T0Jx+gxlewjvXExaBF5CASH/UJsacnzW0/bnsIu2t10QvbGniOTDrImCHmk/Q+F++vQ8uURecqyYTtsjhavNtrfEmqcQHQ9oOl2hE/7gWLnEMoY8hE5/KRaV+jUZt/DqCbOnicR3riUjwRM/rejqSC3C/vBO2cG1iBLLFiFRIis3NwTKiicOCR/AY5tahtvfXmlGlVaenlAwaEqhMRUlYKHdskfiExXciXdRFt6G5Kf/tvtkQLtEu7olu3KB0UbL340+mG9ekXVTZsPFJN6DxcStjla1d/OBiBTkh11IrzE1rSXwzSwUkXgEiCBp1VoyGcyK1iDEnC61c5EK8YPM7YSbo2nSMki0WM7GOJPhRI6rWYkW3Bkm+Ds1WG0f+WsMT3c0vJXUhu2Z1o2QLB7ojuvHBkLZDN25K3TiG0MfQjZtXN9xmhqrxgbMb6djYVjemARXmyeYhl5JHeiFsmAekYbS4DyZxbRoHtjWOp0Rof0AZaaxIpYrYM7qF/mgaWMV8cz9s4gbFC2yLF/ie2MQNihf4psSLq9p4geueNjnr/EI2ljVLJLaFCqdoRb5yubB/P7SyAsK2iFGjg88JrJJLWN0r3zuGS80d7PhtWux0UXEbeeku9rLDBw2dBRoW7t7KUSBc4UxIjhXUZImkV4XQ7QNU4XjIm0PaR6IzvDV4ILk7+psW3z8Z/D8="),
+this.addPalette("gmdlGrid Lists","GMDL / Grid Lists",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLIconsPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Edit",null,null,this.getTagsForStencil("mxgraph.gmdl","edit","gmdl google media design library icon ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Star",null,null,this.getTagsForStencil("mxgraph.gmdl","star","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"",
+"Heart",null,null,this.getTagsForStencil("mxgraph.gmdl","heart","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;",20,18,"","Reply",null,null,this.getTagsForStencil("mxgraph.gmdl","reply","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.users;strokeColor=none;fillColor=#737373;shadow=0;",
+24,16,"","Users",null,null,this.getTagsForStencil("mxgraph.gmdl","users","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",20,20,"","GPS",null,null,this.getTagsForStencil("mxgraph.gmdl","gps","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Share",null,null,this.getTagsForStencil("mxgraph.gmdl","share","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Navigate",null,null,this.getTagsForStencil("mxgraph.gmdl","navigate","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.chat;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Chat",null,null,this.getTagsForStencil("mxgraph.gmdl","chat","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",12,20,"","Voice",null,null,this.getTagsForStencil("mxgraph.gmdl","voice","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;",
+16,24,"","Google",null,null,this.getTagsForStencil("mxgraph.gmdl","google","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;",24,16,"","Video",null,null,this.getTagsForStencil("mxgraph.gmdl","video","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;",
+24,22,"","Gallery",null,null,this.getTagsForStencil("mxgraph.gmdl","gallery","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;",24,22,"","Birthday",null,null,this.getTagsForStencil("mxgraph.gmdl","birthday","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;",
+24,16,"","Cloud",null,null,this.getTagsForStencil("mxgraph.gmdl","cloud","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.x;strokeColor=#737373;fillColor=#737373;shadow=0;strokeWidth=2;",16,16,"","X",null,null,this.getTagsForStencil("mxgraph.gmdl","x","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;",
+12,20,"","Bookmark",null,null,this.getTagsForStencil("mxgraph.gmdl","bookmark","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Calendar",null,null,this.getTagsForStencil("mxgraph.gmdl","calendar","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;shadow=0;strokeWidth=1;",
+22,18,"","Attraction",null,null,this.getTagsForStencil("mxgraph.gmdl","attraction","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;",18,20,"","Dining",null,null,this.getTagsForStencil("mxgraph.gmdl","dining","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Education",null,null,this.getTagsForStencil("mxgraph.gmdl","education","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Family",null,null,this.getTagsForStencil("mxgraph.gmdl","family","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;",
+20,18,"","Health",null,null,this.getTagsForStencil("mxgraph.gmdl","health","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Office",null,null,this.getTagsForStencil("mxgraph.gmdl","office","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Promotion",null,null,this.getTagsForStencil("mxgraph.gmdl","promotion","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Radio",null,null,this.getTagsForStencil("mxgraph.gmdl","radio","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;",
+20,20,"","Recipe",null,null,this.getTagsForStencil("mxgraph.gmdl","recipe","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;",20,20,"","Sports",null,null,this.getTagsForStencil("mxgraph.gmdl","sports","gmdl google media design library icon ").join(" ")),this.createVertexTemplateEntry("dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;shadow=0;direction=south;",
+20,20,"","Travel",null,null,this.getTagsForStencil("mxgraph.gmdl","travel","gmdl google media design library icon ").join(" "))];this.addPalette("gmdlIcons","GMDL / Icons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLListsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library list scannable list",358,642,"Scannable list","7Vtdk+IoFP01PraVgJ+Po07Py07V1HRX7eMWGkxYk5ABHNv99XshSWsktjEm3Y52umwFgdzcw4XDETp4Gr18EyQJvnOPhh38tYOngnOVfopepjQMO8hhXgfPOgg58OqgxyPfuuZbJyGCxqpKBZRW+E3CNU1z0gyptmGW4REZUF3c6eCJDEii8wVdQPuTJQvDKQ+5MEXx0ly6mBJ8RfNvYh5DnUl2KyoUfTlqrsnKbP1GeUSV2EKRDfNUkJbA/VFaLaDMD7Jqg15mOJFphv9ad/f08CFzQLkzsOUMF2z5gp2zfEJC5sc6mVp36CPHGY4Hk2M+WvJY7RV+NJcunJAFi/2f2RP3dlnPPIEMN6v7lNno5Gn2n066GNKCSkj9nXnSrYoIqocI6qV5goZEsd+00P4lKPVqdtnoxddh1vUjL+wqnvwzJ8KGB83weDS4qAvjcocVK2yz6Oz20/SeO3sD25vuud7M7v+DMzDr9eYPY1S4/cOw2AJfLiVVFhqvT1EJoL4F0CMFNLTxxKPirGAqD5LDiBoPRqPSDr4XAsg5HV5pLD3oYNEYswUJv2TRHDHP0wa/hndIl2pX8y+Tmg1Ry1HVH17WD7bF4GwU90ETgZkIuqTgpgWVleHvITyp6vd+ud/fCMfcV4VwHDQSjnkzeTSOWkBl2AQqAAoEV2Ahsu/+Y7CkNfKorBwgR4CqPIq6ZaNoM7A9DPrt4zZqAjcwQ8Ho9K6hVBmhfnsA5THbJkDj0wDVYsvwDTVXCqrHNxnC78vfXAc3MtWM3BZ87zqW82dkm1KMJKHw9F4XUs8Bhf+KRgmVykDDTDOC+IaQbBi4ADnr2GMRi5mJpkMMwbUau03AFH2CyV5nbyDCbDbhmKuEOyhNKw6Jwz477++IhE4OdskJV4pHeYgXWIpem9TtE+OTfQL1Sqa9gXNml6jK6V3XwnPKRWxAmlO61OYLLhdsDe6AhC84gNbtds+Bq0jV9r2cL6v28zrli6hjmJ/Gq//ucKFz4SqP4F4bo6drKw86qB2Iw3fFFNmYjs1125gOURuY2gJKDc4SEeGz+Gc6ZeqZ87vJyMHa5WSgpwPhwdw6mem/i5bxRwB6OQBnn3Lmnbp0Hr1ofKwgenySDagwamNh69qKBjALobnFJn2T0Jx+gxlewjvXExaBF5CASH/UJsacnzW0/bnsIu2t10QvbGniOTDrImCHmk/Q+F++vQ8uURecqyYTtsjhavNtrfEmqcQHQ9oOl2hE/7gWLnEMoY8hE5/KRaV+jUZt/DqCbOnicR3riUjwRM/rejqSC3C/vBO2cG1iBLLFiFRIis3NwTKiicOCR/AY5tahtvfXmlGlVaenlAwaEqhMRUlYKHdskfiExXciXdRFt6G5Kf/tvtkQLtEu7olu3KB0UbL340+mG9ekXVTZsPFJN6DxcStjla1d/OBiBTkh11IrzE1rSXwzSwUkXgEiCBp1VoyGcyK1iDEnC61c5EK8YPM7YSbo2nSMki0WM7GOJPhRI6rWYkW3Bkm+Ds1WG0f+WsMT3c0vJXUhu2Z1o2QLB7ojuvHBkLZDN25K3TiG0MfQjZtXN9xmhqrxgbMb6djYVjemARXmyeYhl5JHeiFsmAekYbS4DyZxbRoHtjWOp0Rof0AZaaxIpYrYM7qF/mgaWMV8cz9s4gbFC2yLF/ie2MQNihf4psSLq9p4geueNjnr/EI2ljVLJLaFCqdoRb5yubB/P7SyAsK2iFGjg88JrJJLWN0r3zuGS80d7PhtWux0UXEbeeku9rLDBw2dBRoW7t7KUSBc4UxIjhXUZImkV4XQ7QNU4XjIm0PaR6IzvDV4ILk7+psW3z8Z/D8="),
 this.addDataEntry("gmdl google media design library list item list",358,642,"Item list","7Vtdb9owFP01PLZK7ISER0q7TdM6VWulPU4uXEhUYyPH7WC/fs4XJHVoDdgdGqSqhI3tOOfkXDsnlx4ezZefBVkkt3wCtIdvengkOJflp/lyBJT2kJdOevi6h5Cn/nvo05Zv/eJbb0EEMGnSAZUdXgh9hrKmrMjkilYVE5IlkDf3evgqS8girxcwVuNfTVNKR5xyUTTF0+LIm0nBn6D+hnGm+lxVpwIhYbl1ukVVNdfPwOcgxUo1+Z1OZFK2wGFcdksgnSVVt35QTZxkZcVs3Xdz9epDBUA3GFgDw1dzGWJvJ0wITWcsL5aze40RusaDuL8NoylnstH4U3HkjRdknLLZj+qKg03VA1+oCr/qe1/N0avL6Z+86GNVFpCp0s8KSd+UEbQfIygo6wRQItMXaI1/CEvBnrfsfDnLZXY5m0/opeSLX49E7EqPEWC4G7B2h1WlzsuwLDfgDPo6mv6uaFbnv+Opmtb65BcD1Dr9RdQegU+nGUiNjfVVGBEUHhZTunXRZgkPgmgQffg9HUaHsbBqS8Mq6n0bslgImIKCaQyZIRPrkG+Ee9iN+xtiqLFqiaFvRQz1MLUWYgesRDZYyYCIcaIR0kS/yUpFVNm4lgY6kCLj6OV3RS87hF30Q/eMxXYYk1KtzR8qImOGQncE1Wp1SdBAI+grYfmo3h2Ip5Rlh682+qrS3EsF+j7NKw5Vn1OXjgkdVpvAeTqZ5NNY7wopTOVm8/atKF1Hxurcd+EKrSxcse+AT9+zojhZ7OZM1Hattg/9G1PEB7svWVgnoB7Z8pLlOyHEt0HIcwamhMRe/ncgIcbhD3csUNhS/Au9V/y4CIC+/tB+SwoMvvKEZZydA6CrAOjXN4pdQnXj4ZgE52/B/IQUp3sOdyAV3MgbEUGzs+Zcam7gZJHb16X4IM0FJ6853dB4EPDCc9F9ISyDs+ScSW5tQdpl1IoZ4k5y/ZOXnIH3UXNC04bJ1MAcikOzn3zrXu2yJgJ59QNL8xks7iAjtiIO7DkRh25rDInI9xXeFTAGUp7Dnatwh2vwrTKKdF9jqHGoQJFtHlAHD2vHYisPr9/91byMFcRFvDQLgXuYHR3+/M6v/gzNDuSCpeM2O7YxcjqLUs1HU0aPj5CDMEpEmkk47wWdBsfIxdvKjlyLY5LdO5uOU5Cdbnmo+zsXHWeMi/NLFmeCC5CT3chx+x3o5P2OjgSOIVWIIe870LPB6FJwsZMV7rjdDnTybkdHpseQyYSzHIZ7CS9wTiVwJ7oQO1nldBflqEQXn7ro8L7JHjskh64VZNdwXLU6vCeTwI7ZeBE4YcGK6fFIxk9dFnBnUmKTlz0zE8t75y0nuJ0e2Jmd2JVOaim3Omrrx0VqNdbNEI24mivVM11kcFQM/f8EGfgab4a0f8lO9L/Ro4qbn1KVzZu/tPoL"),
 this.addDataEntry("gmdl google media design library list item list",358,642,"Item list","7Vttb9sqGP01+dgKg9/yMU33ommbqnXS/XhFkyexVcdYNu2S++svfiG1i92RBLposatKAYONz/F5wAeYkPlm+ymnWfSNLSGZkA8TMs8Z4/WvzXYOSTLBKF5OyO0EYyT+J/jjwFmnOosymkPKdSrgusIzTZ6gzqkzCr5LmowlLSIoi6MJuSkimpX5OSzE9W9WcZLMWcLyqihZVUdZjOfsEeSZlKWizk1zK8g5bAebW2U1bf0EbAM834kiv+Ilj+oSxAvrahHE66ip5rtNw2lRZ6z3dV+eXvxoAOgHgyhgOKItM4IOwoQm8Totk3XrXmOEb8k09IcwWrGUtwp/rI6ycEYXcbr+0Tyx+5L1k2Uiw2nq3jdtRDId/1cmHSLSORQi9U+DpKPLCD6OEezWeTkklMfP0Ln+KSy5R76ym+26lNn1erNMrjnL/n2g+aH0aAFG+gHrVtg16rz26nQLTtdX0XQORbO5/x2LRbP2N7+a4s7tr4LuFdhqVQBX2Ng/hRZB3mkxpV8XXZbI1A2mwbu/015wGgu7rjSMou6bkEWWwwoETAsoNJnYh3wt3L1+3N8Qg8SqIwbfiBjkZaQWQgusBCZYKYDmi0ghpI1+m5WGqLqwlAY+kSLt6OX0RS8zhF35nn3GQjOMcS765ncVkTZDnj2CpFptEjRVCPpC0/Kq6A7yxzgtTu9t1F6lPZZy1XEaqg6RX1IXL2gyawaBm3i5LJuxHxUmsOIvg7evVeo20FbnsR2XZ6TjCh0LfDrIiOJ4NZrTUdutGD74H3QRnx7eZRGVAHllw12WY4UQxwQhTwXoEhKi8u9EQrTDH+npoIih+OehV/zYCICO+tH+jVYYfGFRWrB0DIC2AqAjXxSzhKrGwzkJzhnA/IIUp3oOd8AF3BjNaZ4Uo+Zsam5qpZM71qV4J825F6851dD4mcMzK0X3maYFjJKzJrm9BWmWUSNmiD3J+RcvOQ3vQ3KSxC2TqYU5VIdiPznGvdqtJAIj+cHS/gYLe8gIjYiDICviUG2NGc3LcQW6gTQFzsdwZyvcEQm+UUax6mvMFA4FKLzLA+7hYe9YDPLweu5P8rIQEFfxUi8EHmF29PjzB0/9aZod2AZL5212DDFyOZ2S5KMto4cHKEGYR3lccBjHglaDY2BjtrJnrcU5ye43g45LkJ1qeYj3uxQdS1OWj5Ms1gTnYiujkfP2O/DF+x09CzhmiUAMo++QjAajTcGFVnq483Y78MW7HT0rPWYpj1hawnDP4RnGpQT2ROcRK72c6qKclejCSxcd0Vjs8aas2hbj4OrziC7Zr4kxj1G1Fx2/b8UzOtFglEw4QdihQoJmlgnV+PgBKxGuIoWQxqQaDEhNBJKS6sQjx38V8rzjneAahzdDVi8xHj6QF+0NA6o38RmSbFJafz7dZNWDoRXA8oEuHkdcB7oCbOP1Vg2Ge7koc+ShlwcH2RgHE9VIuC/xxYg9qXMaIxV1Bc/GHBN5h50Z++Gr2dm+XafC78aorpmZvivXyhDIyE6NqkPR3RHQ5uXIbQHk7VXn6Bp31+b3bg3o28thaGNT0Lm7lX1NROOLXnIlasZZAWfF0N9P0AHrF4Y+Lv4YO8HfRo9Ivuxjrou3tzn/Dw=="),
 this.addDataEntry("gmdl google media design library list item list",152,631,"Item list","7Zldb9sgFIZ/jS8nGWMn8WXjrt2kbZrWi13T+NhGwyYCmo/9+mGb5qPgKlvKLiocRYIDB/D7oBwOiXDR7u4FWTdfeQkswh8jXAjO1VhqdwUwFiUxLSN8GyVJrL9RcjfRiobWeE0EdOoSh2R02BD2BKNlNEi1Z8YgG7LuiwJWesilVIL/goIzLoZ2DMOjWyrK2Im9Gp7eoyEl32oj0hUzHwgFu8k1Dyaz4HvgLSix1122tFSN6ZGZhTZA68a4zbAZi8jRUB98jxLoglHBrQi2FPnBH7nili76BXo9+lehK8JuGK073dLSsuy7LOWarGhXa1N8rH2Bql8smvV68U490N/9cCjTdQFS136al7xYrOTfxMqy0SaAEUU3cDb+NQKml28pRjt4dUv9X0lQ/JeSmCm+c6pnTuK9UTY+9+BVJUFZEh4WdpGqmaXqjaCEvbddmS7eBkHmAcHMQlAQRh8FDRCcEFCMPVCYOyi0GgIJFNwUMuSBwsKmwFu66gGQTgYUbhR57gFF7kDRSc5IwODGkKRzDxieDw9nHISkm/DDNIEh9xGkEXJgeBIUhDZ+g22A4YSBUx+xGtnp5a3gujWJH0KYmGSR+4jYyE5sDyxA0CrAcMJIsY+YjewkWQ8g6nCKncKw8BKz7az6E7AN9EoP4UJbAw9ngo29BG87xf7cagVVoOCmsPASte0U29L/1Uvhjg/Xei/ug5fD50phzx1OZE4dIl95nWfm+vB8pDSiz99g5+vq8Y5/7H76F8Af"),
@@ -4799,49 +4802,54 @@ this.addDataEntry("gmdl google media design library picker year picker light",32
 this.addDataEntry("gmdl google media design library picker year picker dark",328,484,"Year picker (dark)","7ZjLbuIwFIafJstKviQhWdK008VcOhKVZp0hhlhj4shxC8zTzzE2lDSXIS3pKiBQ/NvHdv7P6HDi0WSze1BpmX+XGRMevfdooqTU9mqzS5gQHkE88+idRwiCj0e+dPTiQy8qU8UKfUkAsQEvqXhmVrFCpffCCVWeluZSsSVMebviQiRSSHXopT4xb9ArreQfduwpZMGMmKeZ3EIbQ8MtxZRmu87tHiS31wcmN0yrPQzZ8kzndgQlkQ3LGV/nLsyPfCumlRXWp9jXu4cLZ0C7GbRhxlP+7BGIQ/NSwTemA90JDi+jy0Kf6avDq8u1VPB1AU3BVmbOqkyXvFgbF0M31YL/NYtSCm1jKF+mYu6ifkut5QY6wGb9aGL1HuQZAkmxCiJ/OTMvhkLeByUOraaYSDV/YbX5PwLKb4ACNrMGG2NAi0EbnmVmSDcUa/iTLKEj7CWAj3CvYzR95+lHIxkdtBntDzb6eKCXcKNM9Tj/1tnPPa9+NNBGt8RPyWFlgvb1Y3+MkKtVxXTD9tPGLiIRtpEIJhK9JLDvj4Bi1oYinFD0o4jJCCii6ySC/6GIUHKb+HUUJP50FMHQfNqO4pQurooibkMRTb+KfhSj5AqM2ljEE4teFnSUZIFxCwtXlE0sOlmMki1ws9pN5j+S+29dNM69pD1poVYwmL//25xrtgDVhG6huq8VEWgw6IXb2kfx1QP2tdYZ2hlqST5Da4w3ZN3SNzhEtdVvgjGyEW7W8o9fJ8x1zPGImOMRKEPz9cmYHX7+4Owf"),
 this.addDataEntry("gmdl google media design library picker date picker landscape light",512,304,"Date picker (landscape, light)","7ZhNb6MwEIZ/DceubAwEjlnS9rDbdqVU2rMVnGCtg5Fxm2R//Y7BSSCQJrRB2gNEkZjxjD/exwYNDonX20dF8/RJJkw45N4hsZJSV3frbcyEcFzEE4fMHNdF8HfchzOtuGxFOVUs09ckuFXCOxVvrPJUjkLvhHUUKc3NrWIL6PL7kgsRSyFV2UqW5QX+Qiv5h9VaWHmZlpQmcgNODIYdjynNtmfnXLrshB+ZXDOtdhCy4YlOqwgf24mmjK9Sm0aQVzlpUTlWh9yjBHBjVehWhLQUeU3fHBfyAlgURrCGaa4gApOeUiEUBWFo/DLTlyXMZGbUo4KvMjAFW5o+i5wueLYyaga2qzn/awYlBGwjLF9QMbVZWubHpFdjzLB3LQb3IgYchANh8FoYQPFJS3GYvu5Y9poniQk5lfqhvE4VCT7UFftgm3FeTIjegWtidoFiBQT8tmJcvbfJ50T1qnOMFBNU83fW6P8rQvtdQnu9hd5v0wUslKm28t7M/DqU/aSMZ/amTUDfiBvarJqyxPM6tmswkLJBl7L+qOx5Ze2ovySHybho1+xmnyGXy4LpFonDXK+CM+mCE4xw+sKZuAPACW/z8L8Ep/FCtnDc6H+As/d9EQ5G4QB0oi464Xh0etPxhzg7GHXhiUY8vfGEQxwejDvw2CJtxNMDz6FEuC2edkEcT5/j+5/nANXlJR+8YhoFhykfNinXbA5ek7pRtFan2Yh+7Od2ajciahN2DauGdoLaZP2+NcoJWTv0HQ5QY/S7fce3Rd2u9F9+jJibmKMBMUcDUAbz+PGsCq9/W/sH"),
 this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7ZhLb+IwEMc/TY5d+ZGEcKTp47CPrkSlPVvEEGtNHDlugf30O04MTUigpCVSDzFCiscz9vj/s0ETj8br7aNmefpTJVx69N6jsVbKVE/rbcyl9AgSiUfvPEIQfD3ycGIUl6MoZ5pn5pIAUgW8MvnCK0tlKMxOOkORstw+ar6AKW+XQspYSaXLUeoT+wF7YbT6y2sjvGx2JGWJ2oARQ8etx7Xh25M5lyaX8CNXa270Dlw2IjFp5RFgl2jKxSp1YRT5lZEVlWF1iH2TAB6cCt2K0JYiz+mLRyAuhE1hBHuY5Ro8MO0pVVA2a1eZqdmXZWtJmKnMqsekWGXQlXxp5yxythDZyqoZuqnm4p9dlFLoW2HFgsmZizIqfwt6tp077F+KgbyLAYfRQBj8FgZQfNJSHNI3HdteiySxLsdSP5TtWJHwrK7YIrPrPFkXswPTxJ4CzQtw+OPEuPhs04+J6lf3GGkumRGvvDH/Z4QOuoT2ewu9P6YL2CjXZw75sbIflPHE2XQB6BslkYuqKUt9v+O4hgMpG3YpG4zKnlbWrfpbCUiGoF1zmn2EWi4LblokDrleBGfSBScc4fSFMyEDwImu8+P/HpwIxbex34RDpl8Bzt72STgYRQPQmXbRicar05tOMMTdwagLz3TE0xtPNMTlwbgDjyvSRjw98BxKhOviaRfE8exXfP/jFKC6vPTMX0yj4LDlwyYVhs/BakM3mtXqNOfRj/3cpXYloi5g1+jV0E5Qm2zQt0Y5IuuWvsEhaqx+s5/4uqjblf7T9xFzE/N0QMzTAShD9+3lWeVef7f2Hw==")];
-this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],
-16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),
-this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,
-0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
-48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,
-16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],
-16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),
-this.addEntry("gmdl google media design library selection control checkbox off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,
-0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused light",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",
-new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",
-function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=
-new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",
-new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");
-b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);
-return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",
-function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=
-!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl",
-"slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",
-200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",
-200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=20;shadow=0;",
-200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",
-200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=none;handleSize=6;shadow=0;hPos=0;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",
-210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#000000;opacity=100;strokeWidth=2;fillColor=#000000;handleSize=10;shadow=0;",
-200,10,"","Discrete slider (normal, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=1;strokeColor=#BEBEBE;opacity=100;strokeWidth=2;fillColor=#BEBEBE;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscrete;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=0;",
-200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",
-200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#ffffff;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal dark","gmdl google media design library slider ").join(" ")),
-this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
-200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark",
-"gmdl google media design library slider ").join(" "))];this.addPalette("gmdlSliders","GMDL / Sliders",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSteppersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library tab stepper",704,478,"Stepper","7Zhvj5sgHIA/je/5o619uXO9y5KtW7LtA3gTKxkVg+zWfvuhQK8W2dwOlt1ykqb6U1CeBxBMcHE43omya97xirAEbxNcCM6l3jscC8JYggCtEvw6QQioX4JuPWfheBZ0pSCtXJIB6QwPJftGdEQHenliJtA3ZTfsCvJFFXnTS8G/koIzLlSw5a06d1NTxmwoQbgeNxU3pRMhydH7hGPIPN4d4QcixUld8p1WstFXrEGqszWE7huTLV3nOlj2OrA/532ssNoxdZ6vP3bqD70AVE7a9WQhgxTl2W06xHkr/5gN+iUbNIPGxgRhpaQP05rN4TJ3+MCpujECx2kxp+mhLYDXdU+kQ/v8mIsEpI6AXXkgKsLr0QLp1J/fydJGaUIlo/tWHTJSS6PmoykUBlQCQDQn2Sq+k2z5oMDoyLWigwjK2xG1GEBcOVEt/35M4TDDOcqbVRDMGE4wZzEwr6KMvffVkMJRzizRS8xwA4JgXoEp5jwC5rWDuXi/+/Rm93kbAvcwzNd/YZiHALkacJjGfmUBrVEEDbmr4dWu2L4NIeEM+0pCDob0PCRASz2qhY1jwT/o/N58Z0OG9D/Nd7B91wY1YN9aP5/xPP1V4J/xXMgpx+1Zznwi2YGOHfzSQTwdJLWDR1gF7pp0poP4rbx0kKh23BWz18Q/tzjIgnC+WhtgOxd+Cmd1+PjRR19++U3oBw=="),
+this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex=
+!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}),
+this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}),
+this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light",
+function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");
+b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;");
+a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}),
+this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],
+48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark",
+function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light",
+function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;");
+b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls",
+a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",
+200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",
+200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=20;shadow=0;",
+200,20,"","Slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=none;handleSize=6;shadow=0;hPos=0;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",
+210,20,"","Slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#000000;opacity=100;strokeWidth=2;fillColor=#000000;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal light","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;",
+200,10,"","Discrete slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=1;strokeColor=#BEBEBE;opacity=100;strokeWidth=2;fillColor=#BEBEBE;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl",
+"slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=60;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscrete;barPos=100;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",
+200,45,"","Discrete slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click)",null,null,this.getTagsForStencil("mxgraph.gmdl",
+"slider click","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),
+this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=1;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, light)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider click light","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=0;",
+200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=50;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled",
+"gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDisabled2;strokeColor=#b0b0b0;strokeWidth=2;fillColor=#b0b0b0;handleSize=6;shadow=0;hPos=100;",200,20,"","Discrete slider (disabled)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider disabled","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#ffffff;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",
+200,10,"","Discrete slider (normal, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider normal dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=0;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,
+this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=60;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark",
+"gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderDiscreteDots;barPos=100;bright=0;strokeColor=#0F9D58;opacity=100;strokeWidth=2;fillColor=#0F9D58;handleSize=10;shadow=0;fontSize=12;fontColor=#ffffff;",200,45,"","Discrete slider (click, dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","discrete slider click dark","gmdl google media design library slider ").join(" "))];
+this.addPalette("gmdlSliders","GMDL / Sliders",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSteppersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library tab stepper",704,478,"Stepper","7Zhvj5sgHIA/je/5o619uXO9y5KtW7LtA3gTKxkVg+zWfvuhQK8W2dwOlt1ykqb6U1CeBxBMcHE43omya97xirAEbxNcCM6l3jscC8JYggCtEvw6QQioX4JuPWfheBZ0pSCtXJIB6QwPJftGdEQHenliJtA3ZTfsCvJFFXnTS8G/koIzLlSw5a06d1NTxmwoQbgeNxU3pRMhydH7hGPIPN4d4QcixUld8p1WstFXrEGqszWE7huTLV3nOlj2OrA/532ssNoxdZ6vP3bqD70AVE7a9WQhgxTl2W06xHkr/5gN+iUbNIPGxgRhpaQP05rN4TJ3+MCpujECx2kxp+mhLYDXdU+kQ/v8mIsEpI6AXXkgKsLr0QLp1J/fydJGaUIlo/tWHTJSS6PmoykUBlQCQDQn2Sq+k2z5oMDoyLWigwjK2xG1GEBcOVEt/35M4TDDOcqbVRDMGE4wZzEwr6KMvffVkMJRzizRS8xwA4JgXoEp5jwC5rWDuXi/+/Rm93kbAvcwzNd/YZiHALkacJjGfmUBrVEEDbmr4dWu2L4NIeEM+0pCDob0PCRASz2qhY1jwT/o/N58Z0OG9D/Nd7B91wY1YN9aP5/xPP1V4J/xXMgpx+1Zznwi2YGOHfzSQTwdJLWDR1gF7pp0poP4rbx0kKh23BWz18Q/tzjIgnC+WhtgOxd+Cmd1+PjRR19++U3oBw=="),
 this.addDataEntry("gmdl google media design library tab editable steps",704,72,"Editable Steps","5VfRbpswFP0aHhcZm5DkNcnal1aq1Ic9u3ABqwYj43bk72djk4ZBVqpgbdKwEtnH9uX6HPsAATmU7b2kdfEoUuAB+R6QgxRC2VrZHoDzACOWBuQYYIz0L8B3V3rDrhfVVEKl5kzAdsI75W9gEQs06sQd0BS0NlUJiQ65b5QUr3AQXEgNVqLSffuMcd5DASZZd2ncRQepoL2aYQe59O5BlKDkSQ/5yVJV2BEbFNlpBbC8cNM2LlXa2HZ+nvqxXl1xS55ePhkt/xm4WSdGCS1ryvLKkAFKsSpvrlKjg7K6gZnsRHi7vosMLip1gaPu0jinL8CfRMMUE5Vh3i56T7nJhxw5ZJ0SNU10Wg9d6xgiF/HZ5RfO5R9/yj+eoL/HJHCq2DsMwk9p4u7wJFhl+G2HYU7DZh9AZJlmfyTpOc1ZKkefb/KUNgWY4YbFXtayzc3BXOVlyleQMj/bn0zT7yag1XpA0Ll9IU+IxvL02I3yfBvevW8uKs96vgdxVo1PmWb8pSvLbfidP0YxigeUktADpfGI0oMEqsDcxzgaTfVfLsVbvZCn7cAUL57273sY+U1SLya2WcLEkgKS16kDdLYs2/PD8Ybn8h/fbmLYn4kN5fFiYtv/ysSiGPk3sd2IUuLZrb724P6rnrOOt/49p98tf3yO3Pi54KB577YXWm2RKctpFU69RS0l1g4vLpZufnwm2uGXX5G/AA=="),
 this.addDataEntry("gmdl google media design library tab noneditable non editable steps",704,72,"Non-editable Steps","5VdNb5wwEP01HLMyNuzHdXebXFIpUg49OzCAFYORcVL239fGZgMFukQFVVWwdoXHnvHMe/az8Mgprx8kLbPvIgbukW8eOUkhlH3L6xNw7mHEYo+cPYyR/nn4fmLUb0ZRSSUUao4Dtg7vlL+BtVhDpS7cGaqMluZVQqRDHislxSucBBdSGwtR6LFjwjhvTR4mSfNou4sOUkE9mWFjcuk9gMhByYue8pPFKrMzdiiwbhmwNHNuO5cqrWw/vbp+1KtfXMnj5ZNB+c/ATZ0YRTQvKUsLAwYoxYq0moRGB2VlBTPRCfA+vA+MXRSqY0fNo+2cvgB/EhVTTBQGeVv0kXKTDzlzSBomShrptB6b3tlHc/HGN/HGI3C3NgmcKvYOvfBjHLgVngQrDJ51P8yl320DiCTRaA8ovKY5i9Xg9qaOaZWBmW5Qa2nM69QcxE2ax3wTZRC9Dhjtbm478sPBhufCT8bhdw5oE/YAuvY79Ph4SI+PFqHnbttb/S5cgZ5wvuZwVgxPlebgpWnLbfgDWg1RjPqQEn8FSLcDSKcxXUasPifx/1RyyG8MrKI5uwEDJwlUgVnH3CE01n+pFG/lX1+wrWni9rh9SxjPZ7e+vyCFaOQULcUhQetzuP9SwhRs+5CuIkyHAaRkIWE6gGn/tTCF2/36m7rdLX9UpmUUaZ7ydLjaI9OW48r311Og8IAXJ0t3Pz717PTul+Av"),
 this.addDataEntry("gmdl google media design library tab mobile step text",358,642,"Mobile step (text)","3Zhdj6IwFIZ/DZeaQvnQS8VxLvYjm51Jdu82HSkfmUJJ6c7q/vottCAIjKiwMxmMxh562vI+ffWABt14f89QGn6hHiYavNOgyyjl8lu8dzEhmgEiT4MbzTCAeGvGtuesXpwFKWI44UMSDJnwgshvLCMykPEDUQEPZSHOuwMNrrMQpXmc4Z0Yf+1HhLiUUFZ0hetN/sq7cUafcXkmoYnIWaupMON437vcIqTWeo9pjDk7iC5/Io+Hsge0FjItxFEQqjTbVAtHmQwEVe7x6sUXJUC3GLAlhi7WsoLgIk0QiYIkb8rVnWoEoe1s7D6NfJrwWudtceSdU7SLkuC7umLzGHqkqQjoKvdBrRGU7ehv3tShaDOcidYPpaQ+lIhxHRHDlDGGCeLRC26Mfwsl88otG++D3GbzIPbInNP01xNiN21V2C1MM+GgXDi3ZLsmm2m3VdMvVU3N/41GYlnV5LOl0Zh+5jRHoL6fYd5SvbqKQSCsFgiXYcTxRW7pdkHTMqaxsLZm5w6u7XEDnPePNMtSBHK20Q6RlXIrz89U3iXY58esz0Vr4xgTW8ayb4N/aDpvVNj2GK5LGfaxkGmHs4Ho/eIYqrt1VvdSm4bnbpR93xympAAmoOC0KDxwnIqIuCxAffFhj+4+38pf59xX/MOcuA8Ux0ju0+2J3WcuRnHfYgruiw732YQXioj5wHrlfnpH4O3i6OAcR56XL29i1IdGwn8CP1vaE5Bftsh/vfv5KKmLPRDwSqqxyKvQhNDLyvikqB2OfTGk8qph1wEYH3tZalWDj8pdB1f+4V5g8Or3edw7g7dxXznOuBT0McqeJ7R7biGpFzd9XGRGyWVw+Sn3Tq8/wLws3V+5OdG7CqWRbk6cxuyT3JvoAx5slKxEZpRm+F0R+viA2g9begF1/qS9JR3no+ERzeMzR9m9/kjyHw=="),
@@ -5208,8 +5216,8 @@ new mxGeometry(5,12,115,13),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.anchor;f
 null),this.createVertexTemplateEntry(a+"iProgressBar;barPos=40;",150,10,"","Progress bar",null,null,null),this.createVertexTemplateEntry(a+"iCloudProgressBar;barPos=20;",150,10,"","Cloud progress bar",null,null,null),this.createVertexTemplateEntry(d+"iDownloadBar;verticalAlign=top;spacingTop=-4;fontSize=8;fontColor=#ffffff;buttonText=;barPos=30;align=center;",174,30,"Downloading 2 of 6","Download bar",null,null,null),this.createVertexTemplateEntry(d+"iScreenNameBar;fillColor2=#000000;fillColor3=#ffffff;buttonText=;fontColor=#ffffff;fontSize=10;whiteSpace=wrap;align=center;",
 174,25,"Screen Name","Screen name bar",null,null,null),this.createVertexTemplateEntry(a+"iIconGrid;fillColor=#ffffff;strokeColor=#000000;gridSize=3,3;",150,150,"","Icon grid",null,null,null),this.createVertexTemplateEntry(d+"iCopy;fillColor=#000000;strokeColor=#000000;buttonText=;fontColor=#ffffff;spacingBottom=6;fontSize=9;fillColor2=#000000;fillColor3=#ffffff;align=center;",40,400*.06875,"Copy","Copy",null,null,null),this.addEntry(null,function(){var a=new mxCell("Copy",new mxGeometry(10,0,40,400*
 .06875),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.iCopy;fillColor=#000000;strokeColor=#000000;buttonText=;fontColor=#ffffff;spacingBottom=6;fontSize=9;fillColor2=#000000;fillColor3=#ffffff;align=center;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,400*.06875,60,52.5),"html=1;shadow=0;dashed=0;shape=mxgraph.ios.rect;fillColor=#2266ff;strokeColor=none;opacity=30;");b.vertex=!0;return sb.createVertexTemplateFromCells([a,b],60,80,"Copy Area")}),this.createVertexTemplateEntry(a+"iHomePageControl;fillColor=#666666;strokeColor=#cccccc;",
-50,5,"","Home page control",null,null,null),this.createVertexTemplateEntry(a+"iPageControl;fillColor=#666666;strokeColor=#cccccc;",50,5,"","Page control",null,null,null)];this.addPalette("ios","iOS6",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addIos7Palette=function(){var a=this,d="ios icon ",e="html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.",b="mxgraph.ios7.icons";this.addPaletteFunctions("ios7icons","iOS Icons",!1,[this.createVertexTemplateEntry(e+"add;",30,30,"","Add",null,null,this.getTagsForStencil(b,"add",d).join(" ")),this.createVertexTemplateEntry(e+"alarm_clock;",27,
-30,"","Alarm Clock",null,null,this.getTagsForStencil(b,"alarm_clock",d).join(" ")),this.createVertexTemplateEntry(e+"back;",30,25.5,"","Back",null,null,this.getTagsForStencil(b,"back",d).join(" ")),this.createVertexTemplateEntry(e+"backward;",30,16.8,"","Backward",null,null,this.getTagsForStencil(b,"backward",d).join(" ")),this.createVertexTemplateEntry(e+"bag;",21,21,"","Bag",null,null,this.getTagsForStencil(b,"bag",d).join(" ")),this.createVertexTemplateEntry(e+"basket_cancel;",30,12,"","Basket Cancel",
+50,5,"","Home page control",null,null,null),this.createVertexTemplateEntry(a+"iPageControl;fillColor=#666666;strokeColor=#cccccc;",50,5,"","Page control",null,null,null)];this.addPalette("ios","iOS6",!1,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}})();(function(){Sidebar.prototype.addIos7Palette=function(){var a=this,d="ios icon ",e="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.",b="mxgraph.ios7.icons";this.addPaletteFunctions("ios7icons","iOS Icons",!1,[this.createVertexTemplateEntry(e+"add;",30,30,"","Add",null,null,this.getTagsForStencil(b,"add",d).join(" ")),this.createVertexTemplateEntry(e+"alarm_clock;",
+27,30,"","Alarm Clock",null,null,this.getTagsForStencil(b,"alarm_clock",d).join(" ")),this.createVertexTemplateEntry(e+"back;",30,25.5,"","Back",null,null,this.getTagsForStencil(b,"back",d).join(" ")),this.createVertexTemplateEntry(e+"backward;",30,16.8,"","Backward",null,null,this.getTagsForStencil(b,"backward",d).join(" ")),this.createVertexTemplateEntry(e+"bag;",21,21,"","Bag",null,null,this.getTagsForStencil(b,"bag",d).join(" ")),this.createVertexTemplateEntry(e+"basket_cancel;",30,12,"","Basket Cancel",
 null,null,this.getTagsForStencil(b,"basket_cancel",d).join(" ")),this.createVertexTemplateEntry(e+"basketball;",30,30,"","Basketball",null,null,this.getTagsForStencil(b,"basketball",d).join(" ")),this.createVertexTemplateEntry(e+"battery;",30,12,"","Battery",null,null,this.getTagsForStencil(b,"battery",d).join(" ")),this.createVertexTemplateEntry(e+"bell;",24,77*.3,"","Bell",null,null,this.getTagsForStencil(b,"bell",d).join(" ")),this.createVertexTemplateEntry(e+"bluetooth;",15,96*.3,"","Bluetooth",
 null,null,this.getTagsForStencil(b,"bluetooth",d).join(" ")),this.createVertexTemplateEntry(e+"book;",30,25.5,"","Book",null,null,this.getTagsForStencil(b,"book",d).join(" ")),this.createVertexTemplateEntry(e+"bookmark;",18,24,"","Bookmark",null,null,this.getTagsForStencil(b,"bookmark",d).join(" ")),this.createVertexTemplateEntry(e+"box;",30,30,"","Box",null,null,this.getTagsForStencil(b,"box",d).join(" ")),this.createVertexTemplateEntry(e+"briefcase;",30,67*.3,"","Briefcase",null,null,this.getTagsForStencil(b,
 "briefcase",d).join(" ")),this.createVertexTemplateEntry(e+"calculator;",24,30,"","Calculator",null,null,this.getTagsForStencil(b,"calculator",d).join(" ")),this.createVertexTemplateEntry(e+"calendar;",30,30,"","Calendar",null,null,this.getTagsForStencil(b,"calendar",d).join(" ")),this.createVertexTemplateEntry(e+"camera;",30,17.4,"","Camera",null,null,this.getTagsForStencil(b,"camera",d).join(" ")),this.createVertexTemplateEntry(e+"chat;",30,18,"","Chat",null,null,this.getTagsForStencil(b,"chat",
@@ -5406,278 +5414,317 @@ this.createVertexTemplateEntry(a+"text.captcha;fillColor=#ffffff;fontColor=#6666
 this.createVertexTemplateEntry("text;spacingTop=-5;fillColor=#ffffff;whiteSpace=wrap;html=1;align=left;fontSize=12;fontFamily=Helvetica;fillColor=none;strokeColor=none;",250,470,"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nSed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?",
 "Paragraph of Text",null,null,this.getTagsForStencil("mxgraph.mockup.text","peragraph of text","mockup text ").join(" ")),this.addEntry("mockup text table",function(){var a=new mxCell('<table cellpadding="4" cellspacing="0" border="1" style="font-size:1em;width:100%;height:100%;"><tr><th>Header 1</th><th>Header 2</th></tr><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr><tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></table> ',new mxGeometry(0,0,180,80),"verticalAlign=top;align=left;overflow=fill;fillColor=#ffffff;fontSize=12;fontFamily=Helvetica;html=1");
 a.vertex=!0;return b.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Table")})];this.addPalette("mockupText","Mockup Text",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addMSCAEPalette=function(){this.addMSCAEGeneralPalette();this.addMSCAECloudPalette();this.addMSCAEEnterprisePalette();this.addMSCAEGeneralSymbolsPalette();this.addMSCAEIntunePalette();this.addMSCAEOMSPalette();this.addMSCAEOpsManagerPalette();this.addMSCAEOtherPalette();this.addMSCAESystemCenterPalette();this.addMSCAEVMPalette();this.addMSCAEDeprecatedPalette();this.addMSCAECloudColorPalette();this.addMSCAEDeprecatedColorPalette()};Sidebar.prototype.addMSCAECloudPalette=
-function(){var a=this,d=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_b2b;fillColor=#0079D6;",50,50,"","Active Directory B2B",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2b","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_b2c;fillColor=#0079D6;",
-50,50,"","Active Directory B2C",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2c","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_domain_services;fillColor=#0079D6;",50,50,"","Active Directory Domain Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory domain services",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory_health_monitoring;fillColor=#0079D6;",50,49,"","Active Directory Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.access_control;",
-50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","access control","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.advisor;fillColor=#0079D6;",50,50,"","Advisor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","advisor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
-100,100,"Affinity group","Affinity Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","affinity group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.analysis_service;fillColor=#0079D6;",50,40,"","Analysis Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","analysis service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.api_app;fillColor=#0079D6;",45,50,"","API App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.api_management;fillColor=#0079D6;",
-50,45,"","API Management",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api management","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.application_gateway;fillColor=#0079D6;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application gateway","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.app_service;fillColor=#0079D6;",50,50,"","App Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","app application service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.application_insights;fillColor=#0079D6;",
-32,50,"","Application Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.autoscale;",50,30,"","Autoscaling",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","autoscaling autoscale","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
-100,100,"Availability set","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.virtual_machines_availability_set;fillColor=#0079D6;",50,50,"","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machines availability set",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure;fillColor=#0079D6;",50,32,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor=#0079D6;",
-50,33,"","Azure Automatic Load Balancer",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","automatic load balancer","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.active_directory;fillColor=#0079D6;",47,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure active directory","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_alert;",50,42,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure alert","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.automation;",
-50,45,"","Azure Automation",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure automation","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_batch;fillColor=#0079D6;",50,43,"","Azure Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_cache;",
-45,50,"","Azure Cache including Redis",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure cache including redis","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_files_service;fillColor=#0079D6;",50,43,"","Azure Files Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","files service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_load_balancer_feature;fillColor=#0079D6;",50,50,"","Azure Load Balancer (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","load balancer feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_logo;fillColor=#0079D6;",
-50,50,"","Azure Logo",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure logo","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure marketplace","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#0079D6;",
-40,50,"","Azure Rights Management (RMS)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rights management rms","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_sdk;",50,47,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sdk software development kit","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_search;fillColor=#0079D6;",50,35,"","Azure Search",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","search","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_database_sql_azure;",
-47,50,"","Azure SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_storage;fillColor=#0079D6;",50,43,"","Azure Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_subscription;",
-50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure subscription","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.hyper_v_recovery_manager;",50,45,"","Backup",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.backup_service;",
-50,45,"","Backup Agent",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup agent","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.batch;fillColor=#0079D6;",49,46,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.bitbucket_code_source;",
-42,50,"","Bitbucket Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bitbucket code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.biztalk_services;",50,50,"","Biztalk Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","biztalk services","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.blockchain;fillColor=#0079D6;",50,38,"","Blockchain",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","blockchain","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.bot_services;fillColor=#0079D6;",
-48,48,"","Bot Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bot services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.building_block;fillColor=#0079D6;",50,44,"","Building Block",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","building block","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.c_series;fillColor=#0079D6;",
-49,50,"","C-Series",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","c series","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;",44,50,"","Central",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","central","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cloud_office_365;fillColor=#DF3C01;",
-50,30,"","Cloud Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.codeplex_code_source;",
-50,37,"","CodePlex",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","codeplex","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cognitive_services;fillColor=#0079D6;",50,30,"","Cognitive Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cognitive services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.container_registry;fillColor=#0079D6;",
-50,43,"","Container Registry",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container registry","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.container_service;fillColor=#0079D6;",50,36,"","Container Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container service","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.content_delivery_network;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","content delivery network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cortona_management_suite;fillColor=#0079D6;",
-50,50,"","Cortona Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cortona management suite","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.cosmos_db;fillColor=#0079D6;",50,50,"","Cosmos DB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cosmos db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.customer_insights;fillColor=#0079D6;",
-48,50,"","Customer Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","customer insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_bricks;fillColor=#0079D6;",49,50,"","Data Bricks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data bricks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_catalog;fillColor=#0079D6;",
-32,37,"","Data Catalog",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data catalog","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_factory;fillColor=#0079D6;",50,50,"","Data Factory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data factory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake;fillColor=#0079D6;",
-30,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake_analytics;fillColor=#0079D6;",50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_lake_store;fillColor=#0079D6;",
-50,39,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake store","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;",72,70,"","Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data warehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.devtest_labs;fillColor=#0079D6;",
-50,49,"","DevTest Labs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","devtest labs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.azure_dns;fillColor=#0079D6;",50,50,"","DNS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dns","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.docdb_account;fillColor=#0079D6;",
-47,50,"","DocDB Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb account doc database db document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.docdb_collections;fillColor=#0079D6;",44,50,"","DocDB Collections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb collections doc db database document",
-"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.document;fillColor=#0079D6;",43,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;",
-38,50,"","DocumentDB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.code_file;fillColor=#0079D6;",48,50,"","DocumentDB Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.dps;fillColor=#0079D6;",48,50,"","DPS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dps","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.dropbox_code_source;",
-50,47,"","Dropbox Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dropbox code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.event_grid;fillColor=#0079D6;",50,50,"","Event Grid",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event grid","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.event_hubs;fillColor=#0079D6;",
-49,50,"","Event Hubs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event_hubs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","express route","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.functions;fillColor=#0079D6;",
-50,46,"","Functions",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","functions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.gateway;fillColor=#0079D6;",44,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.git_repository;",
-50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","git repository","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.github_code;",50,50,"","GitHub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","github code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hdinsight;fillColor=#0079D6;",
-50,36,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hdisight hd insight","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;",50,29,"","HockeyApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hockeyapp","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hybrid_connection_manager;fillColor=#0079D6;",
-50,35,"","Hybrid Connection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connection manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.hybrid_connections;fillColor=#0079D6;",47,50,"","Hybrid Connections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connections","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.iot_edge;fillColor=#0079D6;",50,50,"","IoT Edge",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot edge internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.iot;fillColor=#0079D6;",
-50,50,"","IoT",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.key_vault;fillColor=#0079D6;",49,50,"","Key Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","key vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.logic_app;fillColor=#0079D6;",
-50,50,"","Logic App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.logic_apps;fillColor=#0079D6;",50,39,"","Logic Apps",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic apps applications","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning2;fillColor=#0079D6;",
-47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_service_plans;fillColor=#0079D6;",47,50,"","Machine Learning - Service Plans",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning service plans","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_web_services;fillColor=#0079D6;",50,50,"","Machine Learning - Web Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning web services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.machine_learning_work_spaces;fillColor=#0079D6;",
-50,50,"","Machine Learning - Work Spaces",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning work spaces","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.managed_applications;fillColor=#0079D6;",44,50,"","Managed Applications",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed applications","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.managed_discs;fillColor=#0079D6;",46,50,"","Managed Discs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed discs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.management_portal;fillColor=#0079D6;",
-50,42,"","Management Portal",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","management portal","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.media_service;",45,50,"","Media Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","media services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.microsoft_account;fillColor=#0079D6;",
-50,50,"","MS Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.microsoft_azure;fillColor=#000000;",50,32,"","MS Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.mobile_app;fillColor=#0079D6;",
-30,50,"","Mobile App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.mobile_engagement;fillColor=#0079D6;",30,50,"","Mobile Engagement",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile engagement","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.monitor;fillColor=#0079D6;",50,50,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.multi_factor_authentication;",
-25,50,"","Multi-Factor Authentication",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","multi factor authentication","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.mysql_database;",37,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mysql database","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.network_watcher;fillColor=#0079D6;",50,50,"","Network Watcher",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","network watcher","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.notification_hub;",
-50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification hub","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.nsg;fillColor=#0079D6;",36,50,"","NSG",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","nsg","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.office_365;fillColor=#DF3C01;",
-42,50,"","Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.office_365_subscription;fillColor=#DF3C01;",50,34,"","Office 365 Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365 subscription","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.oms_log_analytics;fillColor=#0079D6;",50,50,"","OMS Log Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","oms log analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0079D6;",
-50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","operational insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.operating_system_image;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","os operating system image","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.power_bi_embedded;fillColor=#000000;",47,50,"","Power BI Embedded",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","power bi embedded","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.recovery_vault;fillColor=#0079D6;",
-50,50,"","Recovery Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","recovery vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.remoteapp;fillColor=#0079D6;",50,50,"","RemoteApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","remoteapp remote app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.resource_group;fillColor=#0079D6;",
-50,41,"","Resource Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","resource group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.route_filters;fillColor=#0079D6;",50,42,"","Route Filters",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","route filters","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.runbooks;fillColor=#0079D6;",
-46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","runbooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","scheduler","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.security_center;fillColor=#0079D6;",
-37,50,"","Security Center",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","security center","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;",50,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_bus_relay2;fillColor=#0079D6;",
-50,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus relay","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus topic","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_endpoint;fillColor=#0079D6;",50,9,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_endpoint2;fillColor=#0079D6;",
-32,12,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.service_fabric;fillColor=#0079D6;",50,50,"","Service Fabric",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service fabric","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.site_recovery;fillColor=#0079D6;",
-37,31,"","Site Recovery",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","site recovery","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.snapshot;fillColor=#0079D6;",65,55,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","snapshot","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_datasync;",
-37,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datasync","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.sql_database;",37,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_database_premium;fillColor=#0079D6;",
-28,38,"","SQL Database Premium",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database premium","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_datawarehouse;fillColor=#0079D6;",50,49,"","SQL DataWarehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datawarehouse","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_elastic_database_pools;fillColor=#0079D6;",50,50,"","SQL Elastic Database Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql elastic database pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.sql_stretch_database;fillColor=#0079D6;",
-50,37,"","SQL Stretch Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql stretch database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.stack;fillColor=#0079D6;",50,50,"","Stack",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.startup_task;",
-47,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","startup task","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage;fillColor=#0079D6;",50,43,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_cs;fillColor=#0079D6;",
-50,45,"","Storage cs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage cs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_blob;",50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage blob","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_files;fillColor=#0079D6;",
-50,43,"","Storage Files",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage files","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage queue","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.storage_sync_services;fillColor=#0079D6;",
-50,50,"","Storage Sync Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage sync services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.storsimple;",
-50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storsimple","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.stream_analytics;fillColor=#0079D6;",50,39,"","Stream Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stream analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.tags;fillColor=#0079D6;",
-50,50,"","Tags",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","tags","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.time_series_insights;fillColor=#0079D6;",50,50,"","Time Series Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","time series insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.traffic_manager;",
-50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","traffic manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.unidentified_code_object;",50,41,"","Unidentified Feature Object",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","unidentified feature object","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vhd;fillColor=#0079D6;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.vhd_data_disk;",
-37,50,"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd data disk","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_machine;",50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.virtual_machine_container;fillColor=#0079D6;",
-50,44,"","Virtual Machine Container",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine container","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;",50,27,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,
-100,"","Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,100,"","Smart Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.addEntry("ms microsoft cloud enterprise smart virtual network box",
-function(){var d=new mxCell("",new mxGeometry(0,0,150,100),"shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;");d.vertex=!0;var b=new mxCell("Virtual Network",new mxGeometry(1,1,30,18),"shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;fontSize=12;fontColor=#0078D7;align=right;");b.geometry.relative=!0;b.geometry.offset=
-new mxPoint(-20,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width+10,d.geometry.height+10,"Smart Virtual Network Box")}),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.visual_studio_online;",50,37,"","Visual Studio Team Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","visual studio online","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vm_scale_set;fillColor=#0079D6;",50,50,"","VM Scale Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vm virtual machine scale set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vpn_gateway;fillColor=#0079D6;",
-32,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.vpn_gateway2;fillColor=#0079D6;",45,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.azure_website;",50,50,"","WebApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.webhooks;fillColor=#0079D6;",
-50,46,"","Webhooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webhooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.web_roles;",
-50,41,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web roles","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.webjobs;fillColor=#0079D6;",50,49,"","WebJobs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webjobs web jobs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.work_account;fillColor=#0079D6;",
-50,50,"","Work Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","work account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.worker_pools;fillColor=#0079D6;",50,50,"","Worker Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.worker_role;",
-50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.worker_roles;",50,41,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker roles","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeCloud",
-"CAE / Cloud",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addMSCAEDeprecatedPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.access_control;fillColor=#0078D7;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","access control","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.application;fillColor=#00188D;",
-50,33,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.application_gateway;fillColor=#0078D7;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application gateway","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.azure;fillColor=#00BCF2;",
-50,31,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","azure","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.batch;fillColor=#00188D;",42,41,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","batch","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.bot;fillColor=#00188D;",
-31,31,"","Bot",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","bot","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#00BCF2;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#00188D;",
-47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#00BCF2;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#00188D;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.service_package;fillColor=#0078D7;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated",
-"cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.compute;fillColor=#00188D;",33,24,"","Compute",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","compute","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.content_delivery_network;fillColor=#0078D7;",
-50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","content delivery network","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake;fillColor=#0078D7;",39,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake_analytics;fillColor=#0078D7;",
-50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake analytics","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_lake_store;fillColor=#0078D7;",50,50,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake store","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.data_services;fillColor=#00188D;",
-27,35,"","Data Services",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data services","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file_2;fillColor=#7F7F7F;",47,50,"","File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","file","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.hdinsight;fillColor=#00BEF2;",
-50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","hdinsight hd insight","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.machine_learning;fillColor=#0078D7;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","machine learning","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
-50,40,"","Management Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","management certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.notification_topic;fillColor=#0078D7;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","notification topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0078D7;",
-50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","operational insights","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.operating_system_image;fillColor=#0079D6;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","os operating system image","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.poster_arrow;fillColor=#00BCF2;",
-20,50,"","Poster Arrow",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","poster arrow","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus;fillColor=#0078D7;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_queues;fillColor=#0078D7;",
-42,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus queues","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_relay;fillColor=#0078D7;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus relay","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.service_bus_topics_and_subscriptions;fillColor=#0078D7;",
-45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",50,40,"","Service Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.sql_data_warehouse;fillColor=#0078D7;",
-44,50,"","SQL Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql data warehouse","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.sql_server_stretch_db;fillColor=#0078D7;",50,49,"","SQL Server Stretch DB",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql server stretch db database","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.sql_reporting;fillColor=#0078D7;",
-40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql reporting","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.vhd;fillColor=#0078D7;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","vhd virtual hard drive","ms microsoft cloud enterprise deprecated ").join(" "))];this.addPalette("mscaeDeprecated","CAE / (Deprecated)",!1,mxUtils.bind(this,
-function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEEnterprisePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.ad_fs;fillColor=#00188D;",40,50,"","AD FS",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","ad fs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.android_phone;fillColor=#7D7D7D;",
-30,50,"","Android Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","android phone mobile","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.app_generic;fillColor=#00188D;",50,39,"","App (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","app generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application;fillColor=#00188D;",
-50,34,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_blank;fillColor=#00188D;",50,43,"","Application (blank)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app blank","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_server;fillColor=#00188D;",
-43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.application_server2;fillColor=#00188D;",43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.backup_local;fillColor=#00188D;",
-49,50,"","Backup (local)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup local","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#00188D;",50,40,"","Backup (online)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.calendar;fillColor=#00188D;",
-50,41,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","calendar","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.certificate;fillColor=#7D7D7D;",50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","certificate","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.client_application;fillColor=#00188D;",
-50,32,"","Client Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","client application app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.cloud;fillColor=#7D7D7D;",50,32,"","Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cloud","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.cluster_server;fillColor=#00188D;",
-40,50,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cluster server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.code_file;fillColor=#7D7D7D;",47,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.connectors;fillColor=#00188D;",
-50,34,"","Connectors",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","connectors","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.d;fillColor=#00188D;",40,50,"","D",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","delta diff difference server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_generic;fillColor=#00188D;",
-37,50,"","Database (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_server;fillColor=#00188D;",38,50,"","Database (server)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.database_synchronization;fillColor=#00188D;",
-39,50,"","Database Synchronization",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","database synchronization sync db","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.device;fillColor=#00188D;",50,26,"","Device",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","Device","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.direct_access_feature;fillColor=#00188D;",
-50,44,"","Direct Access (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","direct access feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.document;fillColor=#7D7D7D;",40,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","document doc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.domain_controller;fillColor=#00188D;",
-36,50,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","domain controller","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.enterprise;fillColor=#00188D;",30,50,"","Enterprise Building",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","enterprise building","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.file;fillColor=#7D7D7D;",
-47,50,"","File general",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","file general","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.filter;fillColor=#00188D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","filter","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.firewall;fillColor=#00188D;",
-50,44,"","Firewall",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","firewall","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.gateway;fillColor=#00188D;",
-50,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.code_file;fillColor=#00188D;",47,50,"","Generic Code",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","generic code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.code_file;fillColor=#00188D;",
-49,50,"","Generic Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.health_monitoring;fillColor=#7D7D7D;",50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.healthy;fillColor=#7D7D7D;",
-50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.healthy;fillColor=#0078D7;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.import_generic;fillColor=#00188D;",
-40,50,"","Import (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","import generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet;fillColor=#7D7D7D;",50,31,"","Internet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet_hollow;fillColor=#7D7D7D;",
-50,31,"","Internet (hollow)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet hollow","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.iphone;fillColor=#7D7D7D;",31,50,"","iPhone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","iphone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.key_permissions;fillColor=#7D7D7D;",
-26,50,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","key permissions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.keyboard;fillColor=#7D7D7D;",50,30,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","keyboard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.laptop;fillColor=#7D7D7D;",
-50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","laptop computer pc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.load_balancer_generic;fillColor=#00188D;",37,50,"","Load Balancer (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.load_balancer_generic;fillColor=#ffffff;",
-37,50,"","Load Balancer (white)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.load_testing;fillColor=#00188D;",48,50,"","Load Testing",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load testing","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.lock;fillColor=#00188D;",
-39,50,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock protected","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.lock_unlocked;fillColor=#00188D;",37,50,"","Lock (unlocked)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock unlocked accessible","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.maintenance;fillColor=#00188D;",
-34,50,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","maintenance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.management_console;fillColor=#00188D;",50,34,"","Management Console",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","management console","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.message;fillColor=#7D7D7D;",
-50,37,"","Message",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","message","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.computer;fillColor=#7D7D7D;",50,45,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.monitor_running_apps;fillColor=#00188D;",
-50,39,"","Monitor Running Apps",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor running app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.mouse;fillColor=#7D7D7D;",30,50,"","Mouse",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.network_card;fillColor=#00188D;",
-50,35,"","Network Card",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","network card","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#00188D;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#EA1C24;",
-50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.pack;fillColor=#00188D;",50,45,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","pack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.performance;fillColor=#7D7D7D;",
-50,50,"","Performance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.performance_monitor;fillColor=#00188D;",50,36,"","Performance Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.mobile;fillColor=#7D7D7D;",
-35,50,"","Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mobile phone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#7D7D7D;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","plug play","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.powershell_file;fillColor=#00188D;",
-47,50,"","PowerShell Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","powershell script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.protocol_stack;fillColor=#00188D;",50,34,"","Protocol Stack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","protocol stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.queue_generic;fillColor=#00188D;",
-50,15,"","Queue (general)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","queue general generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.rdp_remoting_file;fillColor=#0078D7;",48,50,"","RPD Remoting File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rpd remoting file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.rms_connector;fillColor=#00188D;",
-38,50,"","RMS Connector",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rms connector","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.router;fillColor=#00188D;",50,39,"","Router",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","router","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.script_file;fillColor=#00188D;",
-47,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.secondary_site;fillColor=#00188D;",42,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secondary site","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.secure_virtual_machine;fillColor=#00188D;",
-50,38,"","Secure Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secure virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.server;fillColor=#00188D;",50,15,"","Server (blade)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server blade","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_generic;fillColor=#00188D;",
-24,50,"","Server (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_directory;fillColor=#00188D;",36,50,"","Server Directory",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server directory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.server_farm;fillColor=#00188D;",
-50,32,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server farm","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.server_rack;fillColor=#00188D;",50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server rack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.settings;fillColor=#00188D;",
-50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","settings","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.shared_folder;fillColor=#00188D;",43,50,"","Shared Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","shared folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.smartcard;fillColor=#00188D;",
-50,32,"","SmartCard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","smartcard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.storage;fillColor=#00188D;",50,41,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.stored_procedures;fillColor=#0078D7;",
-47,50,"","Stored Procedures",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","stored procedures","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.table;fillColor=#00188D;",50,50,"","Table",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.tablet;fillColor=#7D7D7D;",
-50,37,"","Tablet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tablet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.tool;fillColor=#7D7D7D;",50,45,"","Tool",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tool","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.triggers;fillColor=#0078D7;",
-47,50,"","Triggers",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","triggers","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#00188D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tunnel","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.udf_function;fillColor=#0078D7;",
-47,50,"","UDF Function",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","udf function","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.unhealthy;fillColor=#00188D;",50,41,"","Unhealthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","unhealthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.usb;fillColor=#00188D;",
-50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","usb","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#00188D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.user_permissions;fillColor=#0078D7;",
+function(){var a=this,d=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_b2b;fillColor=#0079D6;",50,50,"","Active Directory B2B",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2b","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_b2c;fillColor=#0079D6;",
+50,50,"","Active Directory B2C",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory b2c","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_domain_services;fillColor=#0079D6;",50,50,"","Active Directory Domain Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory domain services",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory_health_monitoring;fillColor=#0079D6;",50,49,"","Active Directory Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","active directory health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.access_control;",
+50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","access control","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.advisor;fillColor=#0079D6;",50,50,"","Advisor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","advisor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",
+100,100,"Affinity group","Affinity Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","affinity group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.analysis_service;fillColor=#0079D6;",50,40,"","Analysis Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","analysis service","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.api_app;fillColor=#0079D6;",45,50,"","API App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.api_management;fillColor=#0079D6;",
+50,45,"","API Management",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","api management","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.application_gateway;fillColor=#0079D6;",50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application gateway","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.app_service;fillColor=#0079D6;",50,50,"","App Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","app application service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.application_insights;fillColor=#0079D6;",
+32,50,"","Application Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","application insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.autoscale;",50,30,"","Autoscaling",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","autoscaling autoscale","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shape=rect;fillColor=none;strokeColor=#0000FF;dashed=1;fontSize=14;align=center;html=1;verticalAlign=top;fontColor=#0078D7;whiteSpace=wrap;",100,100,"Availability set","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.virtual_machines_availability_set;fillColor=#0079D6;",
+50,50,"","Availability Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machines availability set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure;fillColor=#0079D6;",50,32,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_automatic_load_balancer;fillColor=#0079D6;",
+50,33,"","Azure Automatic Load Balancer",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","automatic load balancer","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.active_directory;fillColor=#0079D6;",47,50,"","Azure Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure active directory","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_alert;",50,42,"","Azure Alert",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure alert","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.automation;",
+50,45,"","Azure Automation",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure automation","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_batch;fillColor=#0079D6;",50,43,"","Azure Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_cache;",
+45,50,"","Azure Cache including Redis",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure cache including redis","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_files_service;fillColor=#0079D6;",50,43,"","Azure Files Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","files service","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_load_balancer_feature;fillColor=#0079D6;",50,50,"","Azure Load Balancer (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","load balancer feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_logo;fillColor=#0079D6;",
+50,50,"","Azure Logo",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure logo","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_marketplace;",40,50,"","Azure Marketplace",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure marketplace","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#0079D6;",
+40,50,"","Azure Rights Management (RMS)",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","rights management rms","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_sdk;",50,47,"","Azure SDK",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sdk software development kit","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_search;fillColor=#0079D6;",50,35,"","Azure Search",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","search","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_database_sql_azure;",
+47,50,"","Azure SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_storage;fillColor=#0079D6;",50,43,"","Azure Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_subscription;",50,35,"","Azure Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","azure subscription","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.hyper_v_recovery_manager;",
+50,45,"","Backup",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.backup_service;",50,45,"","Backup Agent",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","backup agent","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.batch;fillColor=#0079D6;",
+49,46,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","batch","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.bitbucket_code_source;",42,50,"","Bitbucket Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bitbucket code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.biztalk_services;",
+50,50,"","Biztalk Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","biztalk services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.blockchain;fillColor=#0079D6;",50,38,"","Blockchain",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","blockchain","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.bot_services;fillColor=#0079D6;",
+48,48,"","Bot Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","bot services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.building_block;fillColor=#0079D6;",50,44,"","Building Block",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","building block","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.c_series;fillColor=#0079D6;",
+49,50,"","C-Series",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","c series","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;",44,50,"","Central",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","central","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cloud_office_365;fillColor=#DF3C01;",
+50,30,"","Cloud Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.cloud_service;",50,40,"","Cloud Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cloud service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.codeplex_code_source;",
+50,37,"","CodePlex",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","codeplex","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cognitive_services;fillColor=#0079D6;",50,30,"","Cognitive Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cognitive services","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.container_registry;fillColor=#0079D6;",50,43,"","Container Registry",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container registry","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.container_service;fillColor=#0079D6;",
+50,36,"","Container Service",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","container service","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.content_delivery_network;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","content delivery network","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cortona_management_suite;fillColor=#0079D6;",50,50,"","Cortona Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cortona management suite","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.cosmos_db;fillColor=#0079D6;",
+50,50,"","Cosmos DB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","cosmos db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.customer_insights;fillColor=#0079D6;",48,50,"","Customer Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","customer insights","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_bricks;fillColor=#0079D6;",49,50,"","Data Bricks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data bricks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_catalog;fillColor=#0079D6;",
+32,37,"","Data Catalog",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data catalog","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_factory;fillColor=#0079D6;",50,50,"","Data Factory",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data factory","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake;fillColor=#0079D6;",
+30,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake_analytics;fillColor=#0079D6;",50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake analytics","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_lake_store;fillColor=#0079D6;",50,39,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data lake store","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.data_warehouse;fillColor=#0079D6;",
+72,70,"","Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","data warehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.devtest_labs;fillColor=#0079D6;",50,49,"","DevTest Labs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","devtest labs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_dns;fillColor=#0079D6;",
+50,50,"","DNS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dns","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.docdb_account;fillColor=#0079D6;",47,50,"","DocDB Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb account doc database db document","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.docdb_collections;fillColor=#0079D6;",44,50,"","DocDB Collections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","docdb collections doc db database document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.document;fillColor=#0079D6;",
+43,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","document","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.documentdb;fillColor=#0079D6;",38,50,"","DocumentDB",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#0079D6;",
+48,50,"","DocumentDB Document",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","documentdb document db database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.dps;fillColor=#0079D6;",48,50,"","DPS",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dps","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.dropbox_code_source;",
+50,47,"","Dropbox Code Source",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","dropbox code source","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.event_grid;fillColor=#0079D6;",50,50,"","Event Grid",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event grid","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.event_hubs;fillColor=#0079D6;",
+49,50,"","Event Hubs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","event_hubs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.express_route;",50,30,"","Express Route",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","express route","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.functions;fillColor=#0079D6;",
+50,46,"","Functions",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","functions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.gateway;fillColor=#0079D6;",44,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.git_repository;",
+50,50,"","Git Repository",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","git repository","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.github_code;",50,50,"","GitHub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","github code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hdinsight;fillColor=#0079D6;",
+50,36,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hdisight hd insight","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;",50,29,"","HockeyApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hockeyapp","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hybrid_connection_manager;fillColor=#0079D6;",
+50,35,"","Hybrid Connection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connection manager","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hybrid_connections;fillColor=#0079D6;",47,50,"","Hybrid Connections",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","hybrid connections","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.iot_edge;fillColor=#0079D6;",50,50,"","IoT Edge",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot edge internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.iot;fillColor=#0079D6;",
+50,50,"","IoT",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","iot internet of things","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.key_vault;fillColor=#0079D6;",49,50,"","Key Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","key vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.logic_app;fillColor=#0079D6;",
+50,50,"","Logic App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.logic_apps;fillColor=#0079D6;",50,39,"","Logic Apps",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","logic apps applications","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning2;fillColor=#0079D6;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_service_plans;fillColor=#0079D6;",
+47,50,"","Machine Learning - Service Plans",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning service plans","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_web_services;fillColor=#0079D6;",50,50,"","Machine Learning - Web Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud",
+"machine learning web services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning_work_spaces;fillColor=#0079D6;",50,50,"","Machine Learning - Work Spaces",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","machine learning work spaces","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.managed_applications;fillColor=#0079D6;",
+44,50,"","Managed Applications",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed applications","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.managed_discs;fillColor=#0079D6;",46,50,"","Managed Discs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","managed discs","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.management_portal;fillColor=#0079D6;",50,42,"","Management Portal",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","management portal","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.media_service;",
+45,50,"","Media Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","media services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.microsoft_account;fillColor=#0079D6;",50,50,"","MS Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft account","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.microsoft_azure;fillColor=#000000;",50,32,"","MS Azure",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","microsoft","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.mobile_app;fillColor=#0079D6;",
+30,50,"","Mobile App",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.mobile_engagement;fillColor=#0079D6;",30,50,"","Mobile Engagement",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mobile engagement","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.monitor;fillColor=#0079D6;",50,50,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.multi_factor_authentication;",
+25,50,"","Multi-Factor Authentication",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","multi factor authentication","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.mysql_database;",37,50,"","MySQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","mysql database","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.network_watcher;fillColor=#0079D6;",50,50,"","Network Watcher",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","network watcher","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.notification_hub;",
+50,50,"","Notification Hub",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","notification hub","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.nsg;fillColor=#0079D6;",36,50,"","NSG",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","nsg","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.office_365;fillColor=#DF3C01;",
+42,50,"","Office 365",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.office_365_subscription;fillColor=#DF3C01;",50,34,"","Office 365 Subscription",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","office 365 subscription","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.oms_log_analytics;fillColor=#0079D6;",50,50,"","OMS Log Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","oms log analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0079D6;",
+50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","operational insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.operating_system_image;",50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","os operating system image","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.power_bi_embedded;fillColor=#000000;",47,50,"","Power BI Embedded",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","power bi embedded","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.recovery_vault;fillColor=#0079D6;",
+50,50,"","Recovery Vault",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","recovery vault","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.remoteapp;fillColor=#0079D6;",50,50,"","RemoteApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","remoteapp remote app","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.resource_group;fillColor=#0079D6;",
+50,41,"","Resource Group",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","resource group","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.route_filters;fillColor=#0079D6;",50,42,"","Route Filters",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","route filters","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.runbooks;fillColor=#0079D6;",
+46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","runbooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.scheduler;",40,50,"","Scheduler",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","scheduler","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.security_center;fillColor=#0079D6;",
+37,50,"","Security Center",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","security center","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_bus2;fillColor=#0079D6;",50,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_bus_relay2;fillColor=#0079D6;",
+50,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus relay","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_topics_and_subscriptions;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service bus topic","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_endpoint;fillColor=#0079D6;",50,9,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_endpoint2;fillColor=#0079D6;",
+32,12,"","Service Endpoint",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service endpoint","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_fabric;fillColor=#0079D6;",50,50,"","Service Fabric",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","service fabric","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.site_recovery;fillColor=#0079D6;",37,31,"","Site Recovery",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","site recovery","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.snapshot;fillColor=#0079D6;",
+65,55,"","Snapshot",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","snapshot","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_datasync;",37,50,"","SQL DataSync",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datasync","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_database;",
+37,50,"","SQL Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_database_premium;fillColor=#0079D6;",28,38,"","SQL Database Premium",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql database premium","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_datawarehouse;fillColor=#0079D6;",50,49,"","SQL DataWarehouse",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql datawarehouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_elastic_database_pools;fillColor=#0079D6;",
+50,50,"","SQL Elastic Database Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql elastic database pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.sql_stretch_database;fillColor=#0079D6;",50,37,"","SQL Stretch Database",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","sql stretch database","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.stack;fillColor=#0079D6;",50,50,"","Stack",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.startup_task;",
+47,50,"","Startup Task",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","startup task","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage;fillColor=#0079D6;",50,43,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_cs;fillColor=#0079D6;",
+50,45,"","Storage cs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage cs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_blob;",50,45,"","Storage Blob",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage blob","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_files;fillColor=#0079D6;",
+50,43,"","Storage Files",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage files","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_queue;",50,45,"","Storage Queue",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage queue","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.storage_sync_services;fillColor=#0079D6;",
+50,50,"","Storage Sync Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage sync services","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storage_table;",50,45,"","Storage Table",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storage table","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.storsimple;",50,45,"","StorSimple",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","storsimple","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.stream_analytics;fillColor=#0079D6;",
+50,39,"","Stream Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","stream analytics","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.tags;fillColor=#0079D6;",50,50,"","Tags",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","tags","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.time_series_insights;fillColor=#0079D6;",
+50,50,"","Time Series Insights",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","time series insights","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.traffic_manager;",50,50,"","Traffic Manager",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","traffic manager","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.unidentified_code_object;",50,41,"","Unidentified Feature Object",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","unidentified feature object","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vhd;fillColor=#0079D6;",
+40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.vhd_data_disk;",37,50,"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vhd data disk","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_machine;",
+50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.virtual_machine_container;fillColor=#0079D6;",50,44,"","Virtual Machine Container",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine container","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.virtual_network;",
+50,27,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",150,100,"","Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;",
+150,100,"","Smart Virtual Network Box",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","virtual network box","ms microsoft cloud enterprise ").join(" ")),this.addEntry("ms microsoft cloud enterprise smart virtual network box",function(){var d=new mxCell("",new mxGeometry(0,0,150,100),"shape=rect;dashed=1;strokeColor=#0079D6;fillColor=none;fontSize=14;fontColor=#0078D7;align=center;html=1;dashPattern=1 4;");d.vertex=!0;var b=new mxCell("Virtual Network",new mxGeometry(1,1,30,18),"shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.virtual_network;fontSize=12;fontColor=#0078D7;align=right;");
+b.geometry.relative=!0;b.geometry.offset=new mxPoint(-20,-8);b.vertex=!0;d.insert(b);return a.createVertexTemplateFromCells([d],d.geometry.width+10,d.geometry.height+10,"Smart Virtual Network Box")}),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.visual_studio_online;",50,37,"","Visual Studio Team Services",null,null,this.getTagsForStencil("mxgraph.mscae.cloud",
+"visual studio online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vm_scale_set;fillColor=#0079D6;",50,50,"","VM Scale Set",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vm virtual machine scale set","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vpn_gateway;fillColor=#0079D6;",
+32,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.vpn_gateway2;fillColor=#0079D6;",45,50,"","VPN Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","vpn gateway virtual private network","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.azure_website;",50,50,"","WebApp",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web app application","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.webhooks;fillColor=#0079D6;",
+50,46,"","Webhooks",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webhooks","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.web_roles;",
+50,41,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","web roles","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.webjobs;fillColor=#0079D6;",50,49,"","WebJobs",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","webjobs web jobs","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.work_account;fillColor=#0079D6;",
+50,50,"","Work Account",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","work account","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.worker_pools;fillColor=#0079D6;",50,50,"","Worker Pools",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker pools","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.worker_role;",
+50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker role","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.worker_roles;",50,41,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.mscae.cloud","worker roles","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeCloud",
+"CAE / Cloud",!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addMSCAEDeprecatedPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.access_control;fillColor=#0078D7;",50,50,"","Access Control",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","access control","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.application;fillColor=#00188D;",50,33,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.application_gateway;fillColor=#0078D7;",
+50,50,"","Application Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","application gateway","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.azure;fillColor=#00BCF2;",50,31,"","Azure",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","azure","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.batch;fillColor=#00188D;",42,41,"","Batch",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","batch","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.bot;fillColor=#00188D;",
+31,31,"","Bot",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","bot","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#00BCF2;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#00188D;",47,50,"","Cloud Service Definition File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service definition file csdef","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#00BCF2;",
+44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#00188D;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg",
+"ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.service_package;fillColor=#0078D7;",44,50,"","Cloud Service Package",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","cloud service package cspkg","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.compute;fillColor=#00188D;",
+33,24,"","Compute",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","compute","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.content_delivery_network;fillColor=#0078D7;",50,32,"","Content Delivery Network",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","content delivery network","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake;fillColor=#0078D7;",39,50,"","Data Lake",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake_analytics;fillColor=#0078D7;",
+50,50,"","Data Lake Analytics",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake analytics","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_lake_store;fillColor=#0078D7;",50,50,"","Data Lake Store",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data lake store","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.data_services;fillColor=#00188D;",27,35,"","Data Services",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","data services","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file_2;fillColor=#7F7F7F;",
+47,50,"","File",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","file","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.hdinsight;fillColor=#00BEF2;",50,50,"","HDInsight",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","hdinsight hd insight","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.machine_learning;fillColor=#0078D7;",47,50,"","Machine Learning",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","machine learning","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
+50,40,"","Management Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","management certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.notification_topic;fillColor=#0078D7;",50,50,"","Notification Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","notification topic","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.operational_insights;fillColor=#0078D7;",50,50,"","Operational Insights",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","operational insights","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.operating_system_image;fillColor=#0079D6;",
+50,50,"","OS Image",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","os operating system image","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.poster_arrow;fillColor=#00BCF2;",20,50,"","Poster Arrow",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","poster arrow","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus;fillColor=#0078D7;",45,50,"","Service Bus",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_queues;fillColor=#0078D7;",
+42,50,"","Service Bus Queues",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus queues","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_relay;fillColor=#0078D7;",40,50,"","Service Bus Relay",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus relay","ms microsoft cloud enterprise deprecated ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.service_bus_topics_and_subscriptions;fillColor=#0078D7;",45,50,"","Service Bus Topic",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service bus topic","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#00BEF2;",
+50,40,"","Service Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","service certificate","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.sql_data_warehouse;fillColor=#0078D7;",44,50,"","SQL Data Warehouse",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql data warehouse",
+"ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.sql_server_stretch_db;fillColor=#0078D7;",50,49,"","SQL Server Stretch DB",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql server stretch db database","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.sql_reporting;fillColor=#0078D7;",
+40,50,"","SQL Reporting",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","sql reporting","ms microsoft cloud enterprise deprecated ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.vhd;fillColor=#0078D7;",40,50,"","VHD",null,null,this.getTagsForStencil("mxgraph.mscae.deprecated","vhd virtual hard drive","ms microsoft cloud enterprise deprecated ").join(" "))];
+this.addPalette("mscaeDeprecated","CAE / (Deprecated)",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEEnterprisePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.ad_fs;fillColor=#00188D;",40,50,"","AD FS",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","ad fs",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.android_phone;fillColor=#7D7D7D;",30,50,"","Android Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","android phone mobile","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.app_generic;fillColor=#00188D;",
+50,39,"","App (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","app generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application;fillColor=#00188D;",50,34,"","Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_blank;fillColor=#00188D;",50,43,"","Application (blank)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app blank","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_server;fillColor=#00188D;",
+43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.application_server2;fillColor=#00188D;",43,50,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","application app server",
+"ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.backup_local;fillColor=#00188D;",49,50,"","Backup (local)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup local","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#00188D;",
+50,40,"","Backup (online)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","backup online","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.calendar;fillColor=#00188D;",50,41,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","calendar","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.certificate;fillColor=#7D7D7D;",
+50,40,"","Certificate",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","certificate","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.client_application;fillColor=#00188D;",50,32,"","Client Application",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","client application app","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.cloud;fillColor=#7D7D7D;",50,32,"","Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cloud","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.cluster_server;fillColor=#00188D;",
+40,50,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","cluster server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#7D7D7D;",47,50,"","Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.connectors;fillColor=#00188D;",
+50,34,"","Connectors",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","connectors","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.d;fillColor=#00188D;",40,50,"","D",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","delta diff difference server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_generic;fillColor=#00188D;",
+37,50,"","Database (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_server;fillColor=#00188D;",38,50,"","Database (server)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","db database server","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_synchronization;fillColor=#00188D;",39,50,"","Database Synchronization",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","database synchronization sync db","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.device;fillColor=#00188D;",
+50,26,"","Device",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","Device","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.direct_access_feature;fillColor=#00188D;",50,44,"","Direct Access (feature)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","direct access feature","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.document;fillColor=#7D7D7D;",40,50,"","Document",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","document doc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.domain_controller;fillColor=#00188D;",
+36,50,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","domain controller","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.enterprise;fillColor=#00188D;",30,50,"","Enterprise Building",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","enterprise building","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.file;fillColor=#7D7D7D;",47,50,"","File general",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","file general","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.filter;fillColor=#00188D;",
+50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","filter","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.firewall;fillColor=#00188D;",50,44,"","Firewall",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","firewall","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
+50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.gateway;fillColor=#00188D;",50,50,"","Gateway",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","gateway","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.code_file;fillColor=#00188D;",
+47,50,"","Generic Code",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","generic code","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.code_file;fillColor=#00188D;",49,50,"","Generic Code File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","code file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.health_monitoring;fillColor=#7D7D7D;",50,42,"","Health Monitoring",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","health monitoring","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.healthy;fillColor=#7D7D7D;",
+50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.healthy;fillColor=#0078D7;",50,45,"","Healthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","healthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.import_generic;fillColor=#00188D;",
+40,50,"","Import (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","import generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet;fillColor=#7D7D7D;",50,31,"","Internet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet_hollow;fillColor=#7D7D7D;",50,31,"","Internet (hollow)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","internet hollow","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.iphone;fillColor=#7D7D7D;",
+31,50,"","iPhone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","iphone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.key_permissions;fillColor=#7D7D7D;",26,50,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","key permissions","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.keyboard;fillColor=#7D7D7D;",50,30,"","Keyboard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","keyboard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.laptop;fillColor=#7D7D7D;",
+50,30,"","Laptop",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","laptop computer pc","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.load_balancer_generic;fillColor=#00188D;",37,50,"","Load Balancer (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.load_balancer_generic;fillColor=#ffffff;",37,50,"","Load Balancer (white)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load balancer generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.load_testing;fillColor=#00188D;",
+48,50,"","Load Testing",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","load testing","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.lock;fillColor=#00188D;",39,50,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock protected","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.lock_unlocked;fillColor=#00188D;",37,50,"","Lock (unlocked)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","lock unlocked accessible","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.maintenance;fillColor=#00188D;",
+34,50,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","maintenance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.management_console;fillColor=#00188D;",50,34,"","Management Console",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","management console","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.message;fillColor=#7D7D7D;",50,37,"","Message",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","message","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.computer;fillColor=#7D7D7D;",
+50,45,"","Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.monitor_running_apps;fillColor=#00188D;",50,39,"","Monitor Running Apps",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","monitor running app application","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.mouse;fillColor=#7D7D7D;",30,50,"","Mouse",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mouse","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.network_card;fillColor=#00188D;",
+50,35,"","Network Card",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","network card","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#00188D;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#EA1C24;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","not allowed","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.pack;fillColor=#00188D;",
+50,45,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","pack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.performance;fillColor=#7D7D7D;",50,50,"","Performance",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.performance_monitor;fillColor=#00188D;",
+50,36,"","Performance Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","performance monitor","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.mobile;fillColor=#7D7D7D;",35,50,"","Phone",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","mobile phone","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#7D7D7D;",
+40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","plug play","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.powershell_file;fillColor=#00188D;",47,50,"","PowerShell Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","powershell script file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.protocol_stack;fillColor=#00188D;",50,34,"","Protocol Stack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","protocol stack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.queue_generic;fillColor=#00188D;",
+50,15,"","Queue (general)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","queue general generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.rdp_remoting_file;fillColor=#0078D7;",48,50,"","RPD Remoting File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rpd remoting file","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.rms_connector;fillColor=#00188D;",38,50,"","RMS Connector",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","rms connector","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.router;fillColor=#00188D;",
+50,39,"","Router",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","router","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.script_file;fillColor=#00188D;",47,50,"","Script File",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","script file","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.secondary_site;fillColor=#00188D;",
+42,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secondary site","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.secure_virtual_machine;fillColor=#00188D;",50,38,"","Secure Virtual Machine",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","secure virtual machine","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.server;fillColor=#00188D;",50,15,"","Server (blade)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server blade","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_generic;fillColor=#00188D;",
+24,50,"","Server (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_directory;fillColor=#00188D;",36,50,"","Server Directory",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server directory","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.server_farm;fillColor=#00188D;",50,32,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server farm","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.server_rack;fillColor=#00188D;",
+50,50,"","Server Rack",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","server rack","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.settings;fillColor=#00188D;",50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","settings","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.shared_folder;fillColor=#00188D;",
+43,50,"","Shared Folder",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","shared folder","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.smartcard;fillColor=#00188D;",50,32,"","SmartCard",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","smartcard","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.storage;fillColor=#00188D;",
+50,41,"","Storage",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","storage","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.stored_procedures;fillColor=#0078D7;",47,50,"","Stored Procedures",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","stored procedures","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.table;fillColor=#00188D;",50,50,"","Table",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","table","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.tablet;fillColor=#7D7D7D;",
+50,37,"","Tablet",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tablet","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.tool;fillColor=#7D7D7D;",50,45,"","Tool",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tool","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.triggers;fillColor=#0078D7;",
+47,50,"","Triggers",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","triggers","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#00188D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","tunnel","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.udf_function;fillColor=#0078D7;",
+47,50,"","UDF Function",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","udf function","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.unhealthy;fillColor=#00188D;",50,41,"","Unhealthy",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","unhealthy","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.usb;fillColor=#00188D;",
+50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","usb","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#00188D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.user_permissions;fillColor=#0078D7;",
 47,50,"","User Permissions",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","user permissions","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#00188D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","video","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.virtual_machine_feature;fillColor=#00188D;",
-50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.web;fillColor=#00188D;",50,50,"","Web",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.web_server;fillColor=#00188D;",
-38,50,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.website_generic;fillColor=#7D7D7D;",50,44,"","Website (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","website generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",
-48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.windows_server;fillColor=#00188D;",39,50,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.wireless_connection;fillColor=#00188D;",
-42,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","wireless connection","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.workstation_client;fillColor=#00188D;",50,50,"","Workstation Client",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","workstation client","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.xml_web_service;fillColor=#00188D;",
-50,50,"","XML Web Service",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","xml web service","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeEnterprise","CAE / Enterprise",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,50,"","Audio",null,null,
-this.getTagsForStencil("mxgraph.mscae.general","audio","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general","bug","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.enterprise;fillColor=#7D7D7D;",30,50,"","Building",
-null,null,this.getTagsForStencil("mxgraph.mscae.general","building enterprise","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=mxgraph.mscae.general.cable_settop_tv_box;strokeColor=#000000;fillColor=#7D7D7D;",50,24,"","Cable Settop TV Box",null,null,this.getTagsForStencil("mxgraph.mscae.general","cable settop tv television box","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",
-50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general","calendar","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general","chart","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.checkmark;fillColor=#91D250;",
-41,50,"","Checkmark (success)",null,null,this.getTagsForStencil("mxgraph.mscae.general","checkmark success","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","continuous cycle circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
-40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general","crossout failure","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general","cut and paste","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.filter;fillColor=#7D7D7D;",
-50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.general","filter","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general","folder","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",
-50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general","game controller gamepad","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general","gears","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",
-50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general","graph","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general","like","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.not_allowed;fillColor=#DE5900;",
-50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general","not allowed","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.pointer;fillColor=#91D250;",50,50,"","Pointer (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","pointer circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.slider_bar_horizontal;fillColor=#7D7D7D;",
-50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar horizontal hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.slider_bar_vertical;fillColor=#7D7D7D;",22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar vertical hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",
-38,47,"","Task List (backlog)",null,null,this.getTagsForStencil("mxgraph.mscae.general","task list backlog","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general","tasks","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
-50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general","tunnel","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.usb;fillColor=#7D7D7D;",50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.general","usb","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#7D7D7D;",
-47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general","user","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general","video","ms microsoft cloud enterprise general ").join(" "))];this.addPalette("mscaeGeneral","CAE / General",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAEGeneralSymbolsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.attachments;fillColor=#7D7D7D;",29,50,"","Attachments",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","attachments","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,
-50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","audio","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","bug","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cable_settop_tv_box;fillColor=#7D7D7D;",
-50,24,"","Cable Settop Box",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cable settop box","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","calendar","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
-50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","chart","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.checkmark;fillColor=#92D050;",41,50,"","Checkmark",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","checkmark","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.clock_time;fillColor=#0078D7;",
-50,50,"","Clock / Time",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","clock time","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","continuous cycle","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
-40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","crossout failure","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cut and paste","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.ellipses;fillColor=#0078D7;",
-50,7,"","Ellipses",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","ellipses","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.favorite;fillColor=#FDE57B;",14,20,"","Favorite",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","favorite","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
-50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","folder","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","game controller","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.gears;fillColor=#7D7D7D;",
-50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","gears","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","graph","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",
-50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","like","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#DD5900;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","not allowed","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
-25,25,"12","Numbered Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#E90D8B;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Magenta",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#FF8C00;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Orange",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered orange","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#C00000;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
-25,25,"1","Number Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.num_label_rotate;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"12","Numbered Label Rotate Pointer",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","num label rotate",
-"ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.premium_star;fillColor=#FDE57B;",12,11,"","Premium Star",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","premium star","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#7D7D7D;",
-81,30,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar horizontal","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#7D7D7D;",35,80,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar vertical","ms microsoft cloud enterprise general symbols ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",41,50,"","Task List",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","task list","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
-"tasks","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tunnel","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.user;fillColor=#7D7D7D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
-"user","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","video","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.waiting;fillColor=#7D7D7D;",46,50,"","Waiting",
-null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","waiting","ms microsoft cloud enterprise general symbols ").join(" "))];this.addPalette("mscaeGeneral Symbols","CAE / General Symbols",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEIntunePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.account_portal;fillColor=#505050;",43,50,"","Account Portal",
-null,null,this.getTagsForStencil("mxgraph.mscae.intune","account portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.administration;fillColor=#505050;",30,50,"","Administration",null,null,this.getTagsForStencil("mxgraph.mscae.intune","administration","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.alerts;fillColor=#505050;",
-50,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.intune","alerts","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.apps;fillColor=#505050;",50,50,"","Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","apps","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.certificate;fillColor=#505050;",
-50,49,"","Certificate (Compliance)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate compliance","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.client_software;fillColor=#505050;",50,45,"","Client Software Deployment Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","client software deployment wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.company_portal;fillColor=#505050;",
-50,38,"","Company Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","company portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.computer_inventory;fillColor=#505050;",50,45,"","Computer Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","computer inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.conditional_access_exchange;fillColor=#505050;",
-49,50,"","Conditional Access (Exchange)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access exchange","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.conditional_access_sharepoint;fillColor=#505050;",44,50,"","Conditional Access (Sharepoint)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access sharepoint","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.connector;fillColor=#505050;",50,17,"","Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.dashboard;fillColor=#505050;",50,40,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","dashboard","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.data_migration_wizard;fillColor=#505050;",50,48,"","Data Migration Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","data migration wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.detected_software;fillColor=#505050;",50,50,"","Detected Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
-"detected software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_group;fillColor=#505050;",50,50,"","Device Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_health;fillColor=#505050;",50,31,"","Device Health",
-null,null,this.getTagsForStencil("mxgraph.mscae.intune","device_health","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_history;fillColor=#505050;",45,50,"","Device History",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device history","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.device_os;fillColor=#505050;",
-49,50,"","Device OS",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device os operating system","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.end_protection;fillColor=#505050;",48,50,"","End Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","end protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.exchange_connector;fillColor=#505050;",
-50,49,"","Exchange Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","exchange connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.internet;fillColor=#ffffff;strokeColor=#7f7f7f;",50,31,"","Expandable Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.intune","expandable cloud","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.groups;fillColor=#505050;",
-50,48,"","Groups",null,null,this.getTagsForStencil("mxgraph.mscae.intune","groups","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.hybrid;fillColor=#505050;",50,39,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.mscae.intune","hybrid","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_certificate_profiles;fillColor=#505050;",
-40,50,"","Intune Certificate Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_connector;fillColor=#505050;",82,59,"","Intune Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","intune connector","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_email_profiles;fillColor=#505050;",
-50,50,"","Intune Email Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","email profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_managed_app;fillColor=#505050;",50,38,"","Intune Managed App",null,null,this.getTagsForStencil("mxgraph.mscae.intune","managed app application","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_mobile_application_management;fillColor=#505050;",
-49,50,"","Intune Mobile Application Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile app aplication management","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_vpn_profiles;fillColor=#505050;",42,50,"","Intune VPN Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","vpn virtual private network profiles","ms microsoft cloud enterprise intune").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.intune_wifi_profiles;fillColor=#505050;",43,50,"","Intune WiFi Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","wifi profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.inventory_license;fillColor=#505050;",50,48,"","Inventory License",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
-"inventory license","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.inventory_software;fillColor=#505050;",50,49,"","Inventory Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.license_group;fillColor=#505050;",
-50,49,"","License Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.license_installation;fillColor=#505050;",50,43,"","License Installation",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license installation","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.microsoft_intune;fillColor=#505050;",
-50,40,"","MS Intune",null,null,this.getTagsForStencil("mxgraph.mscae.intune","microsoft","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.mobile_inventory;fillColor=#505050;",44,50,"","Mobile Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.noncompliant_apps;fillColor=#505050;",
-46,50,"","Noncompliant Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","noncompliant apps applications","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.policy;fillColor=#505050;",50,50,"","Policy",null,null,this.getTagsForStencil("mxgraph.mscae.intune","policy","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.protection;fillColor=#505050;",
-48,50,"","Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.reports;fillColor=#505050;",46,50,"","Reports",null,null,this.getTagsForStencil("mxgraph.mscae.intune","reports","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.settings;fillColor=#505050;",
-50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.intune","settings","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.subscription_portal;fillColor=#505050;",50,50,"","Subscription Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","subscription portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.terms_and_conditions;fillColor=#505050;",
-37,50,"","Terms and Conditions",null,null,this.getTagsForStencil("mxgraph.mscae.intune","terms and conditions","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.update;fillColor=#505050;",48,50,"","Update",null,null,this.getTagsForStencil("mxgraph.mscae.intune","update","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.user_group;fillColor=#505050;",
-50,37,"","User Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.user_management;fillColor=#505050;",50,46,"","User Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user management","ms microsoft cloud enterprise intune").join(" "))];this.addPalette("mscaeIntune","CAE / Intune",!1,mxUtils.bind(this,function(d){for(var e=
-0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOMSPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.alerts;fillColor=#505050;",41,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.oms","alerts","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.app_with_changes;fillColor=#505050;",50,32,"","App With Changes",
-null,null,this.getTagsForStencil("mxgraph.mscae.oms","app with changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.assessments;fillColor=#505050;",47,50,"","Assessments",null,null,this.getTagsForStencil("mxgraph.mscae.oms","assessments","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.capacity;fillColor=#505050;",
-41,50,"","Capacity",null,null,this.getTagsForStencil("mxgraph.mscae.oms","capacity","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.config_assessment;fillColor=#505050;",50,45,"","Config Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","config assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.dashboard;fillColor=#505050;",
-50,41,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dashboard","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.dependency_monitor;fillColor=#505050;",50,49,"","Dependency Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dependency monitor","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.diagnostics;fillColor=#505050;",
-50,34,"","Diagnostics",null,null,this.getTagsForStencil("mxgraph.mscae.oms","diagnostics","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.jobs;fillColor=#505050;",50,50,"","Jobs",null,null,this.getTagsForStencil("mxgraph.mscae.oms","jobs","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.log_management;fillColor=#505050;",
-41,50,"","Log Management",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log management","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.log_search;fillColor=#505050;",50,50,"","Log Search",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log search","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.malware_assessment;fillColor=#505050;",
-49,50,"","Malware Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","malware assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.overview;fillColor=#505050;",50,41,"","Overview",null,null,this.getTagsForStencil("mxgraph.mscae.oms","overview","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.cloud.runbooks;fillColor=#505050;",
-46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.oms","runbooks","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.security;fillColor=#505050;",50,50,"","Security",null,null,this.getTagsForStencil("mxgraph.mscae.oms","security","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.server_width_changes;fillColor=#505050;",
-47,50,"","Server Width Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","server width changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.services;fillColor=#505050;",49,50,"","Services",null,null,this.getTagsForStencil("mxgraph.mscae.oms","services","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.solutions;fillColor=#505050;",
-50,49,"","Solutions",null,null,this.getTagsForStencil("mxgraph.mscae.oms","solutions","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.system_update;fillColor=#505050;",50,50,"","System Update",null,null,this.getTagsForStencil("mxgraph.mscae.oms","system update","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.track_changes;fillColor=#505050;",
-42,50,"","Track Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","track changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.wire_data;fillColor=#505050;",50,50,"","Wire Data",null,null,this.getTagsForStencil("mxgraph.mscae.oms","wire data","ms microsoft cloud enterprise oms").join(" "))];this.addPalette("mscaeOMS","CAE / OMS",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAEOpsManagerPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.advanced_group_policy_management;fillColor=#0078D7;",48,50,"","Advanced Group Policy Management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","advanced group policy management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.applications;fillColor=#0078D7;",
-49,50,"","Applications",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","applications","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.application_virtualization;fillColor=#0078D7;",50,50,"","Application Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","application virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.app_controller;fillColor=#0078D7;",50,43,"","App Controller",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","app controller","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.configuration_manager;fillColor=#0078D7;",46,50,"","Configuration Manager",
-null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","configuration manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.data_protection_manager;fillColor=#0078D7;",44,50,"","Data Protection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","data protection manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.middleware;fillColor=#0078D7;",50,34,"","Middleware",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","middleware","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_bitlocker_administration_and_management;fillColor=#0078D7;",46,50,"","MS Bitlocker Administration and management",
-null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","bitlocker administration and management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_diagnostics_and_recovery_toolset;fillColor=#0078D7;",50,48,"","MS Diagnostics and Recovery Toolset",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","diagnostics and recovery toolset","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_enterprise_desktop_virtualization;fillColor=#0078D7;",50,50,"","MS Enterprise Desktop Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","enterprise desktop virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ms_user_experience_virtualization;fillColor=#0078D7;",
-50,48,"","MS User Experience Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","user experience virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.operations_manager;fillColor=#0078D7;",48,50,"","Operations Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","operations manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.orchestrator;fillColor=#0078D7;",50,34,"","Orchestrator",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","orchestrator","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.pack;fillColor=#0078D7;",44,50,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
-"pack","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#0078D7;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","plug and play","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.runtime;fillColor=#0078D7;",
-50,35,"","Runtime",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","runtime","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.service_manager;fillColor=#0078D7;",50,36,"","Service Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","service manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#0078D7;",
-22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar vertical hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#0078D7;",50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar horizontal hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.ssd;fillColor=#0078D7;",50,41,"","SSD",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","ssd solid state drive","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.virtual_machine_manager;fillColor=#0078D7;",50,38,"","Virtual Machine Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
-"virtual machine manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" "))];this.addPalette("mscaeOpsManager","CAE / OpsManager",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOtherPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.access;fillColor=#BA2024;",50,50,"","Access",null,null,this.getTagsForStencil("mxgraph.mscae.other",
-"access","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.bi_product_icon;fillColor=#000000;",47,50,"","BI Product Icon",null,null,this.getTagsForStencil("mxgraph.mscae.other","bi product icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.cortana;fillColor=#2CACE2;",50,50,"","Cortana",null,null,
-this.getTagsForStencil("mxgraph.mscae.other","cortana","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.excel;fillColor=#008540;",50,50,"","Excel",null,null,this.getTagsForStencil("mxgraph.mscae.other","excel","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.exchange;fillColor=#2471BA;",50,48,"","Exchange",
-null,null,this.getTagsForStencil("mxgraph.mscae.other","exchange","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.lync;fillColor=#2471BA;",50,48,"","Lync",null,null,this.getTagsForStencil("mxgraph.mscae.other","lync","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.microsoft;",50,50,"","Microsoft",
-null,null,this.getTagsForStencil("mxgraph.mscae.other","microsoft","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.outlook;fillColor=#2471BA;",50,50,"","Outlook",null,null,this.getTagsForStencil("mxgraph.mscae.other","outlook","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.powerappsicon;fillColor=#992065;",
-50,50,"","PowerAppsIcon",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerappsicon power apps applications icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.powerpoint;fillColor=#DE5D24;",50,50,"","PowerPoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerpoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.sharepoint;fillColor=#2471BA;",
-50,49,"","Sharepoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","sharepoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.skype;fillColor=#00AEF2;",50,50,"","Skype",null,null,this.getTagsForStencil("mxgraph.mscae.other","skype","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",
-48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.other","windows","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.word;fillColor=#2C3481;",50,50,"","Word",null,null,this.getTagsForStencil("mxgraph.mscae.other","word","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.xbox;fillColor=#91D250;",
-50,48,"","Xbox",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.xbox_one;",50,16,"","Xbox One",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox one","ms microsoft cloud enterprise other").join(" "))];this.addPalette("mscaeOther","CAE / Other",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addMSCAESystemCenterPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.admin_console;fillColor=#515151;strokeColor=none;",50,36,"","Admin Console",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","admin console","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=mxgraph.mscae.enterprise.database_server;fillColor=#515151;strokeColor=none;",
-38,50,"","Central Administration Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.central_administration_site_sql;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site SQL",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site sql",
-"ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.cloud_distribution_point;fillColor=#515151;strokeColor=none;",46,50,"","Cloud Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","cloud distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.distribution_point;fillColor=#515151;strokeColor=none;",
-44,50,"","Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.management_point;fillColor=#515151;strokeColor=none;",48,50,"","Management Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","management point","ms microsoft cloud enterprise system center").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.primary_site;fillColor=#515151;strokeColor=none;",38,50,"","Primary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","primary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.roles;fillColor=#515151;strokeColor=none;",42,50,"","Roles",null,null,this.getTagsForStencil("mxgraph.mscae.system_center",
-"roles","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.secondary_site;fillColor=#515151;strokeColor=none;",41,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","secondary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.software_update_point;fillColor=#515151;strokeColor=none;",
-50,43,"","Software Update Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","software update point","ms microsoft cloud enterprise system center").join(" "))];this.addPalette("mscaeSystem Center","CAE / System Center",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEVMPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.active_directory;fillColor=#00188F;strokeColor=none;",
-50,41,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.active_directory_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Active Directory (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.application_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.application_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Application Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.database_server;fillColor=#00188F;strokeColor=none;",50,41,"","Database Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.database_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Database Server (multi)",
-null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.directory_server;fillColor=#00188F;strokeColor=none;",50,41,"","Directory Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.directory_server_multi;fillColor=#00188F;strokeColor=none;",
-58,50,"","Directory Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.domain_server;fillColor=#00188F;strokeColor=none;",50,41,"","Domain Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.domain_server_multi;fillColor=#00188F;strokeColor=none;",
-58,50,"","Domain Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server2;fillColor=#00188F;strokeColor=none;",50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.file_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","File Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.web_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.web_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Web Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.windows_server;fillColor=#00188F;strokeColor=none;",
-50,41,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.windows_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Windows Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server multi","ms microsoft cloud enterprise vm virtual machine ").join(" "))];this.addPalette("mscaeVirtual Machine",
-"CAE / Virtual Machine",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAECloudColorPalette=function(){var a=[this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory.svg;",50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectory.svg;",
+50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","virtual machine feature","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.web;fillColor=#00188D;",50,50,"","Web",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.web_server;fillColor=#00188D;",38,50,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","web server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.website_generic;fillColor=#7D7D7D;",
+50,44,"","Website (generic)",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","website generic","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.windows_server;fillColor=#00188D;",
+39,50,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","windows server","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.wireless_connection;fillColor=#00188D;",42,50,"","Wireless Connection",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","wireless connection","ms microsoft cloud enterprise ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.workstation_client;fillColor=#00188D;",50,50,"","Workstation Client",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","workstation client","ms microsoft cloud enterprise ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.xml_web_service;fillColor=#00188D;",
+50,50,"","XML Web Service",null,null,this.getTagsForStencil("mxgraph.mscae.enterprise","xml web service","ms microsoft cloud enterprise ").join(" "))];this.addPalette("mscaeEnterprise","CAE / Enterprise",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",
+50,50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general","audio","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general","bug","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.enterprise;fillColor=#7D7D7D;",
+30,50,"","Building",null,null,this.getTagsForStencil("mxgraph.mscae.general","building enterprise","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cable_settop_tv_box;strokeColor=#000000;fillColor=#7D7D7D;",50,24,"","Cable Settop TV Box",null,null,this.getTagsForStencil("mxgraph.mscae.general","cable settop tv television box","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general","calendar","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
+50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general","chart","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.checkmark;fillColor=#91D250;",41,50,"","Checkmark (success)",null,null,this.getTagsForStencil("mxgraph.mscae.general","checkmark success","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",48,50,"","Continuous Cycle (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","continuous cycle circle","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",
+40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general","crossout failure","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general","cut and paste","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.filter;fillColor=#7D7D7D;",50,45,"","Filter",null,null,this.getTagsForStencil("mxgraph.mscae.general","filter","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",
+50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general","folder","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general","game controller gamepad","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general","gears","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",
+50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general","graph","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general","like","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.not_allowed;fillColor=#DE5900;",
+50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general","not allowed","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.pointer;fillColor=#91D250;",50,50,"","Pointer (circle)",null,null,this.getTagsForStencil("mxgraph.mscae.general","pointer circle","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.slider_bar_horizontal;fillColor=#7D7D7D;",50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar horizontal hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.slider_bar_vertical;fillColor=#7D7D7D;",
+22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general","slider bar vertical hor","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",38,47,"","Task List (backlog)",null,null,this.getTagsForStencil("mxgraph.mscae.general","task list backlog","ms microsoft cloud enterprise general ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general","tasks","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
+50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general","tunnel","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.usb;fillColor=#7D7D7D;",50,23,"","USB",null,null,this.getTagsForStencil("mxgraph.mscae.general","usb","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.user;fillColor=#7D7D7D;",
+47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general","user","ms microsoft cloud enterprise general ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general","video","ms microsoft cloud enterprise general ").join(" "))];this.addPalette("mscaeGeneral",
+"CAE / General",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEGeneralSymbolsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.attachments;fillColor=#7D7D7D;",29,50,"","Attachments",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","attachments","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.audio;fillColor=#7D7D7D;",50,50,"","Audio",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","audio","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.bug;fillColor=#7D7D7D;",
+50,50,"","Bug",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","bug","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cable_settop_tv_box;fillColor=#7D7D7D;",50,24,"","Cable Settop Box",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cable settop box","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.calendar;fillColor=#7D7D7D;",50,40,"","Calendar",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","calendar","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.chart;fillColor=#7D7D7D;",
+50,48,"","Chart",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","chart","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.checkmark;fillColor=#92D050;",41,50,"","Checkmark",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","checkmark","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.clock_time;fillColor=#0078D7;",50,50,"","Clock / Time",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","clock time","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.continuous_cycle;fillColor=#7D7D7D;",
+48,50,"","Continuous Cycle",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","continuous cycle","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.crossout;fillColor=#FF0000;",40,50,"","Crossout (failure)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","crossout failure","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.cut_and_paste;fillColor=#7D7D7D;",50,34,"","Cut and Paste",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","cut and paste","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.ellipses;fillColor=#0078D7;",
+50,7,"","Ellipses",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","ellipses","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.favorite;fillColor=#FDE57B;",14,20,"","Favorite",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","favorite","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.folder;fillColor=#7D7D7D;",50,43,"","Folder",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","folder","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.game_controller;fillColor=#7D7D7D;",
+50,35,"","Game Controller",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","game controller","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.gears;fillColor=#7D7D7D;",50,42,"","Gears",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","gears","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.graph;fillColor=#7D7D7D;",50,50,"","Graph",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","graph","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.like;fillColor=#7D7D7D;",
+50,47,"","Like",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","like","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.not_allowed;fillColor=#DD5900;",50,50,"","Not Allowed",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","not allowed","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"12","Numbered Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#E90D8B;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
+25,25,"1","Number Magenta",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#FF8C00;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Orange",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered orange","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;shape=ellipse;perimeter=ellipsePerimeter;dashPattern=1 4;strokeColor=none;fillColor=#C00000;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",25,25,"1","Number Label",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","numbered label","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.num_label_rotate;fillColor=#92D050;fontSize=12;fontColor=#FFFFFF;align=center;spacing=0;fontStyle=1;",
+25,25,"12","Numbered Label Rotate Pointer",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","num label rotate","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.premium_star;fillColor=#FDE57B;",12,11,"","Premium Star",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols",
+"premium star","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#7D7D7D;",81,30,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar horizontal","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#7D7D7D;",
+35,80,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","slider bar vertical","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.task_list;fillColor=#7D7D7D;",41,50,"","Task List",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","task list","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tasks;fillColor=#7D7D7D;",38,50,"","Tasks",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tasks","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.tunnel;fillColor=#7D7D7D;",
+50,9,"","Tunnel",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","tunnel","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.user;fillColor=#7D7D7D;",47,50,"","User",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","user","ms microsoft cloud enterprise general symbols ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.video;fillColor=#7D7D7D;",49,50,"","Video",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","video","ms microsoft cloud enterprise general symbols ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.waiting;fillColor=#7D7D7D;",
+46,50,"","Waiting",null,null,this.getTagsForStencil("mxgraph.mscae.general_symbols","waiting","ms microsoft cloud enterprise general symbols ").join(" "))];this.addPalette("mscaeGeneral Symbols","CAE / General Symbols",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEIntunePalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.account_portal;fillColor=#505050;",
+43,50,"","Account Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","account portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.administration;fillColor=#505050;",30,50,"","Administration",null,null,this.getTagsForStencil("mxgraph.mscae.intune","administration","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.alerts;fillColor=#505050;",50,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.intune","alerts","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.apps;fillColor=#505050;",
+50,50,"","Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","apps","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.certificate;fillColor=#505050;",50,49,"","Certificate (Compliance)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate compliance","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.client_software;fillColor=#505050;",50,45,"","Client Software Deployment Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","client software deployment wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.company_portal;fillColor=#505050;",
+50,38,"","Company Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","company portal","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.computer_inventory;fillColor=#505050;",50,45,"","Computer Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","computer inventory","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.conditional_access_exchange;fillColor=#505050;",49,50,"","Conditional Access (Exchange)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access exchange","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.conditional_access_sharepoint;fillColor=#505050;",
+44,50,"","Conditional Access (Sharepoint)",null,null,this.getTagsForStencil("mxgraph.mscae.intune","conditional access sharepoint","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.connector;fillColor=#505050;",50,17,"","Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.dashboard;fillColor=#505050;",50,40,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","dashboard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.data_migration_wizard;fillColor=#505050;",
+50,48,"","Data Migration Wizard",null,null,this.getTagsForStencil("mxgraph.mscae.intune","data migration wizard","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.detected_software;fillColor=#505050;",50,50,"","Detected Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","detected software","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_group;fillColor=#505050;",50,50,"","Device Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_health;fillColor=#505050;",
+50,31,"","Device Health",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device_health","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_history;fillColor=#505050;",45,50,"","Device History",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device history","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.device_os;fillColor=#505050;",49,50,"","Device OS",null,null,this.getTagsForStencil("mxgraph.mscae.intune","device os operating system","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.end_protection;fillColor=#505050;",
+48,50,"","End Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","end protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.exchange_connector;fillColor=#505050;",50,49,"","Exchange Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","exchange connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.internet;fillColor=#ffffff;strokeColor=#7f7f7f;",50,31,"","Expandable Cloud",null,null,this.getTagsForStencil("mxgraph.mscae.intune","expandable cloud","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.groups;fillColor=#505050;",
+50,48,"","Groups",null,null,this.getTagsForStencil("mxgraph.mscae.intune","groups","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.hybrid;fillColor=#505050;",50,39,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.mscae.intune","hybrid","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_certificate_profiles;fillColor=#505050;",
+40,50,"","Intune Certificate Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","certificate profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_connector;fillColor=#505050;",82,59,"","Intune Connector",null,null,this.getTagsForStencil("mxgraph.mscae.intune","intune connector","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_email_profiles;fillColor=#505050;",50,50,"","Intune Email Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","email profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_managed_app;fillColor=#505050;",
+50,38,"","Intune Managed App",null,null,this.getTagsForStencil("mxgraph.mscae.intune","managed app application","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_mobile_application_management;fillColor=#505050;",49,50,"","Intune Mobile Application Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune",
+"mobile app aplication management","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_vpn_profiles;fillColor=#505050;",42,50,"","Intune VPN Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","vpn virtual private network profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.intune_wifi_profiles;fillColor=#505050;",
+43,50,"","Intune WiFi Profiles",null,null,this.getTagsForStencil("mxgraph.mscae.intune","wifi profiles","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.inventory_license;fillColor=#505050;",50,48,"","Inventory License",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory license","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.inventory_software;fillColor=#505050;",50,49,"","Inventory Software",null,null,this.getTagsForStencil("mxgraph.mscae.intune","inventory software","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.license_group;fillColor=#505050;",
+50,49,"","License Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.license_installation;fillColor=#505050;",50,43,"","License Installation",null,null,this.getTagsForStencil("mxgraph.mscae.intune","license installation","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.microsoft_intune;fillColor=#505050;",50,40,"","MS Intune",null,null,this.getTagsForStencil("mxgraph.mscae.intune","microsoft","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.mobile_inventory;fillColor=#505050;",
+44,50,"","Mobile Inventory",null,null,this.getTagsForStencil("mxgraph.mscae.intune","mobile inventory","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.noncompliant_apps;fillColor=#505050;",46,50,"","Noncompliant Apps",null,null,this.getTagsForStencil("mxgraph.mscae.intune","noncompliant apps applications","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.policy;fillColor=#505050;",50,50,"","Policy",null,null,this.getTagsForStencil("mxgraph.mscae.intune","policy","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.protection;fillColor=#505050;",
+48,50,"","Protection",null,null,this.getTagsForStencil("mxgraph.mscae.intune","protection","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.reports;fillColor=#505050;",46,50,"","Reports",null,null,this.getTagsForStencil("mxgraph.mscae.intune","reports","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.settings;fillColor=#505050;",
+50,50,"","Settings",null,null,this.getTagsForStencil("mxgraph.mscae.intune","settings","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.subscription_portal;fillColor=#505050;",50,50,"","Subscription Portal",null,null,this.getTagsForStencil("mxgraph.mscae.intune","subscription portal","ms microsoft cloud enterprise intune").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.terms_and_conditions;fillColor=#505050;",37,50,"","Terms and Conditions",null,null,this.getTagsForStencil("mxgraph.mscae.intune","terms and conditions","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.update;fillColor=#505050;",
+48,50,"","Update",null,null,this.getTagsForStencil("mxgraph.mscae.intune","update","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.user_group;fillColor=#505050;",50,37,"","User Group",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user group","ms microsoft cloud enterprise intune").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.user_management;fillColor=#505050;",
+50,46,"","User Management",null,null,this.getTagsForStencil("mxgraph.mscae.intune","user management","ms microsoft cloud enterprise intune").join(" "))];this.addPalette("mscaeIntune","CAE / Intune",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOMSPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.alerts;fillColor=#505050;",
+41,50,"","Alerts",null,null,this.getTagsForStencil("mxgraph.mscae.oms","alerts","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.app_with_changes;fillColor=#505050;",50,32,"","App With Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","app with changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.assessments;fillColor=#505050;",
+47,50,"","Assessments",null,null,this.getTagsForStencil("mxgraph.mscae.oms","assessments","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.capacity;fillColor=#505050;",41,50,"","Capacity",null,null,this.getTagsForStencil("mxgraph.mscae.oms","capacity","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.config_assessment;fillColor=#505050;",
+50,45,"","Config Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","config assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.dashboard;fillColor=#505050;",50,41,"","Dashboard",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dashboard","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.dependency_monitor;fillColor=#505050;",
+50,49,"","Dependency Monitor",null,null,this.getTagsForStencil("mxgraph.mscae.oms","dependency monitor","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.diagnostics;fillColor=#505050;",50,34,"","Diagnostics",null,null,this.getTagsForStencil("mxgraph.mscae.oms","diagnostics","ms microsoft cloud enterprise oms").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.jobs;fillColor=#505050;",50,50,"","Jobs",null,null,this.getTagsForStencil("mxgraph.mscae.oms","jobs","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.log_management;fillColor=#505050;",
+41,50,"","Log Management",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log management","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.log_search;fillColor=#505050;",50,50,"","Log Search",null,null,this.getTagsForStencil("mxgraph.mscae.oms","log search","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.malware_assessment;fillColor=#505050;",
+49,50,"","Malware Assessment",null,null,this.getTagsForStencil("mxgraph.mscae.oms","malware assessment","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.overview;fillColor=#505050;",50,41,"","Overview",null,null,this.getTagsForStencil("mxgraph.mscae.oms","overview","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.runbooks;fillColor=#505050;",
+46,50,"","Runbooks",null,null,this.getTagsForStencil("mxgraph.mscae.oms","runbooks","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.security;fillColor=#505050;",50,50,"","Security",null,null,this.getTagsForStencil("mxgraph.mscae.oms","security","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.server_width_changes;fillColor=#505050;",
+47,50,"","Server Width Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","server width changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.services;fillColor=#505050;",49,50,"","Services",null,null,this.getTagsForStencil("mxgraph.mscae.oms","services","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.solutions;fillColor=#505050;",
+50,49,"","Solutions",null,null,this.getTagsForStencil("mxgraph.mscae.oms","solutions","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.system_update;fillColor=#505050;",50,50,"","System Update",null,null,this.getTagsForStencil("mxgraph.mscae.oms","system update","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.track_changes;fillColor=#505050;",
+42,50,"","Track Changes",null,null,this.getTagsForStencil("mxgraph.mscae.oms","track changes","ms microsoft cloud enterprise oms").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.wire_data;fillColor=#505050;",50,50,"","Wire Data",null,null,this.getTagsForStencil("mxgraph.mscae.oms","wire data","ms microsoft cloud enterprise oms").join(" "))];this.addPalette("mscaeOMS",
+"CAE / OMS",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOpsManagerPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.advanced_group_policy_management;fillColor=#0078D7;",48,50,"","Advanced Group Policy Management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"advanced group policy management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.applications;fillColor=#0078D7;",49,50,"","Applications",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","applications","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.application_virtualization;fillColor=#0078D7;",50,50,"","Application Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","application virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.app_controller;fillColor=#0078D7;",
+50,43,"","App Controller",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","app controller","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.configuration_manager;fillColor=#0078D7;",46,50,"","Configuration Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"configuration manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.data_protection_manager;fillColor=#0078D7;",44,50,"","Data Protection Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","data protection manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.middleware;fillColor=#0078D7;",50,34,"","Middleware",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","middleware","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_bitlocker_administration_and_management;fillColor=#0078D7;",
+46,50,"","MS Bitlocker Administration and management",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","bitlocker administration and management","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_diagnostics_and_recovery_toolset;fillColor=#0078D7;",50,48,"","MS Diagnostics and Recovery Toolset",
+null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","diagnostics and recovery toolset","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_enterprise_desktop_virtualization;fillColor=#0078D7;",50,50,"","MS Enterprise Desktop Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager",
+"enterprise desktop virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ms_user_experience_virtualization;fillColor=#0078D7;",50,48,"","MS User Experience Virtualization",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","user experience virtualization","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.operations_manager;fillColor=#0078D7;",48,50,"","Operations Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","operations manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.orchestrator;fillColor=#0078D7;",
+50,34,"","Orchestrator",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","orchestrator","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.pack;fillColor=#0078D7;",44,50,"","Pack",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","pack","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.plug_and_play;fillColor=#0078D7;",40,50,"","Plug and Play",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","plug and play","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.runtime;fillColor=#0078D7;",
+50,35,"","Runtime",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","runtime","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.service_manager;fillColor=#0078D7;",50,36,"","Service Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","service manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_vert;fillColor=#0078D7;",22,50,"","Slider Bar (vertical)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar vertical hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.slider_bar_horz;fillColor=#0078D7;",
+50,21,"","Slider Bar (horizontal)",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","slider bar horizontal hor","ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.ssd;fillColor=#0078D7;",50,41,"","SSD",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","ssd solid state drive",
+"ms microsoft cloud enterprise opsmanager ops manager operations").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.virtual_machine_manager;fillColor=#0078D7;",50,38,"","Virtual Machine Manager",null,null,this.getTagsForStencil("mxgraph.mscae.opsmanager","virtual machine manager","ms microsoft cloud enterprise opsmanager ops manager operations").join(" "))];
+this.addPalette("mscaeOpsManager","CAE / OpsManager",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEOtherPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.access;fillColor=#BA2024;",50,50,"","Access",null,null,this.getTagsForStencil("mxgraph.mscae.other","access","ms microsoft cloud enterprise other").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.bi_product_icon;fillColor=#000000;",47,50,"","BI Product Icon",null,null,this.getTagsForStencil("mxgraph.mscae.other","bi product icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.cortana;fillColor=#2CACE2;",
+50,50,"","Cortana",null,null,this.getTagsForStencil("mxgraph.mscae.other","cortana","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.excel;fillColor=#008540;",50,50,"","Excel",null,null,this.getTagsForStencil("mxgraph.mscae.other","excel","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.exchange;fillColor=#2471BA;",
+50,48,"","Exchange",null,null,this.getTagsForStencil("mxgraph.mscae.other","exchange","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.lync;fillColor=#2471BA;",50,48,"","Lync",null,null,this.getTagsForStencil("mxgraph.mscae.other","lync","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.microsoft;",
+50,50,"","Microsoft",null,null,this.getTagsForStencil("mxgraph.mscae.other","microsoft","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.outlook;fillColor=#2471BA;",50,50,"","Outlook",null,null,this.getTagsForStencil("mxgraph.mscae.other","outlook","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.powerappsicon;fillColor=#992065;",
+50,50,"","PowerAppsIcon",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerappsicon power apps applications icon","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.powerpoint;fillColor=#DE5D24;",50,50,"","PowerPoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","powerpoint","ms microsoft cloud enterprise other").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.sharepoint;fillColor=#2471BA;",50,49,"","Sharepoint",null,null,this.getTagsForStencil("mxgraph.mscae.other","sharepoint","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.skype;fillColor=#00AEF2;",
+50,50,"","Skype",null,null,this.getTagsForStencil("mxgraph.mscae.other","skype","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.windows;fillColor=#00188D;",48,50,"","Windows",null,null,this.getTagsForStencil("mxgraph.mscae.other","windows","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.word;fillColor=#2C3481;",
+50,50,"","Word",null,null,this.getTagsForStencil("mxgraph.mscae.other","word","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.xbox;fillColor=#91D250;",50,48,"","Xbox",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox","ms microsoft cloud enterprise other").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.xbox_one;",
+50,16,"","Xbox One",null,null,this.getTagsForStencil("mxgraph.mscae.other","xbox one","ms microsoft cloud enterprise other").join(" "))];this.addPalette("mscaeOther","CAE / Other",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAESystemCenterPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.admin_console;fillColor=#515151;strokeColor=none;",
+50,36,"","Admin Console",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","admin console","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.database_server;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site",
+"ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.central_administration_site_sql;fillColor=#515151;strokeColor=none;",38,50,"","Central Administration Site SQL",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","central administration site sql","ms microsoft cloud enterprise system center").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.cloud_distribution_point;fillColor=#515151;strokeColor=none;",46,50,"","Cloud Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","cloud distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.distribution_point;fillColor=#515151;strokeColor=none;",
+44,50,"","Distribution Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","distribution point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.management_point;fillColor=#515151;strokeColor=none;",48,50,"","Management Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center",
+"management point","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.primary_site;fillColor=#515151;strokeColor=none;",38,50,"","Primary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","primary site","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.roles;fillColor=#515151;strokeColor=none;",
+42,50,"","Roles",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","roles","ms microsoft cloud enterprise system center").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.secondary_site;fillColor=#515151;strokeColor=none;",41,50,"","Secondary Site",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","secondary site","ms microsoft cloud enterprise system center").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.software_update_point;fillColor=#515151;strokeColor=none;",50,43,"","Software Update Point",null,null,this.getTagsForStencil("mxgraph.mscae.system_center","software update point","ms microsoft cloud enterprise system center").join(" "))];this.addPalette("mscaeSystem Center","CAE / System Center",!1,mxUtils.bind(this,
+function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAEVMPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.active_directory;fillColor=#00188F;strokeColor=none;",50,41,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.active_directory_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Active Directory (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","active directory multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.application_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","Application Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.application_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Application Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","application server multi",
+"ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.database_server;fillColor=#00188F;strokeColor=none;",50,41,"","Database Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.database_server_multi;fillColor=#00188F;strokeColor=none;",
+58,50,"","Database Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","database server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.directory_server;fillColor=#00188F;strokeColor=none;",50,41,"","Directory Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server",
+"ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.directory_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Directory Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","directory server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.domain_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","Domain Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.domain_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Domain Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","domain server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server2;fillColor=#00188F;strokeColor=none;",50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server;fillColor=#00188F;strokeColor=none;",
+50,41,"","File Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.file_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","File Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","file server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.web_server;fillColor=#00188F;strokeColor=none;",50,41,"","Web Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.web_server_multi;fillColor=#00188F;strokeColor=none;",
+58,50,"","Web Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","web server multi","ms microsoft cloud enterprise vm virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.windows_server;fillColor=#00188F;strokeColor=none;",50,41,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server","ms microsoft cloud enterprise vm virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.windows_server_multi;fillColor=#00188F;strokeColor=none;",58,50,"","Windows Server (multi)",null,null,this.getTagsForStencil("mxgraph.mscae.vm","windows server multi","ms microsoft cloud enterprise vm virtual machine ").join(" "))];this.addPalette("mscaeVirtual Machine","CAE / Virtual Machine",!1,mxUtils.bind(this,function(d){for(var e=
+0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addMSCAECloudColorPalette=function(){var a=[this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory.svg;",50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectory.svg;",
 50,50,"","Active Directory",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/Active_Directory_Health_Monitoring.svg;",50,50,"","Active Directory - Health Monitoring",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory health monitoring","ms microsoft cloud enterprise color ").join(" ")),
 this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/ActiveDirectoryDomain.svg;",50,50,"","Active Directory - Domain",!1,null,this.getTagsForStencil("mxgraph.mscae","active directory domain","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/API_Management.svg;",50,41.5,"","API Management",
 !1,null,this.getTagsForStencil("mxgraph.mscae","api management application programming interface","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/App_Service.svg;",50,50,"","App Service",!1,null,this.getTagsForStencil("mxgraph.mscae","app service","ms microsoft cloud enterprise color ").join(" ")),this.createVertexTemplateEntry("aspect=fixed;html=1;perimeter=none;align=center;shadow=0;dashed=0;image;fontSize=12;image=img/lib/mscae/App_Service_API_Apps.svg;",
@@ -5777,336 +5824,349 @@ this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabe
 "computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virtual_pc;",115,85,"","Virtual PC",null,null,this.getTagsForStencil("mxgraph.networks","virtual_pc","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virtual_server;",
 110,120,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.networks","virtual_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.virus;",100,90,"","Virus",null,null,this.getTagsForStencil("mxgraph.networks","virus","computer network ").join(" ")),
 this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.web_server;",105,105,"","Web Server",null,null,this.getTagsForStencil("mxgraph.networks","web_server","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_hub;",
-100,85,"","Wireless Hub",null,null,this.getTagsForStencil("mxgraph.networks","wireless_hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_modem;",100,85,"","Wireless Modem",null,null,this.getTagsForStencil("mxgraph.networks","wireless_modem","computer network ").join(" "))])}})();(function(){Sidebar.prototype.addOfficePalette=function(){this.addOfficeCloudsPalette();this.addOfficeCommunicationsPalette();this.addOfficeConceptsPalette();this.addOfficeDatabasesPalette();this.addOfficeDevicesPalette();this.addOfficeSecurityPalette();this.addOfficeServersPalette();this.addOfficeServicesPalette();this.addOfficeSitesPalette();this.addOfficeUsersPalette()};Sidebar.prototype.addOfficeCloudsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.azure;",
-103,66,"","Azure",null,null,this.getTagsForStencil("mxgraph.office.clouds","azure","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud;",94,55,"","Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_disaster;",
-94,74,"","Cloud Disaster",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_disaster;fillColor=#ff0000;",94,74,"","Cloud Disaster (Red)",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_exchange_online;",
-100,61,"","Cloud Exchange Online",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud exchange online","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_service_request;",102,80,"","Cloud Service Request",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud service request","office cloud ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.cloud_sharepoint;",101,61,"","Cloud SharePoint",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud sharepoint","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.office_365;",
-101,61,"","Office 365",null,null,this.getTagsForStencil("mxgraph.office.clouds","office 365","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.online_backup;",94,101,"","Online Backup",null,null,this.getTagsForStencil("mxgraph.office.clouds","online backup","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.online_user;",
-93,74,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.clouds","online user","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.private_cloud;",94,55,"","Private Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","private cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.public_cloud;",
-101,81,"","Public Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","public cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.public_im_cloud_service;",102,99,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.clouds","public im instant message cloud service","office cloud ").join(" "))];
-this.addPalette("officeClouds","Office / Clouds",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeCommunicationsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_call_center_solution;",98,101,"","3rd Party Call Center Solution",null,null,
-this.getTagsForStencil("mxgraph.office.communications","3rd party call center solution","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_integration;",54,55,"","3rd Party Integration",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party integration","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.application_sharing_workload;",
-57,49,"","Application Sharing Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","application sharing workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.audio_conferencing_application;",59,46,"","Audio Conferencing Application",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"audio_conferencing_application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.central_management_service;",52,55,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.communications","central management service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.chat_room;",
-46,48,"","Chat Room",null,null,this.getTagsForStencil("mxgraph.office.communications","chat room","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.conference_announcement_service;",60,60,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.communications","conference announcement service",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.disconnected_mailbox;",60,55,"","Disconnected Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","disconnected mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.discovery_search_mailbox;",
-55,49,"","Discovery Search Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","discovery search mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"dynamic distribution group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.edge_subscription;",57,59,"","Edge Subscription",null,null,this.getTagsForStencil("mxgraph.office.communications","edge subscription","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.email_workloaad;",
-57,47,"","Email Workloaad",null,null,this.getTagsForStencil("mxgraph.office.communications","email workloaad","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.equipment_mailbox;",59,59,"","Equipment Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","equipment mailbox","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.exchange_active_sync;",49,49,"","Exchange Active Sync",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.exchange_active_sync;fillColor=#2072B8;",
-49,49,"","Exchange Active Sync - Blue",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.fax_partner;",45,56,"","Fax Partner",null,null,this.getTagsForStencil("mxgraph.office.communications","fax partner","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.global_address_list;",59,53,"","Global Address List",null,null,this.getTagsForStencil("mxgraph.office.communications","global address list","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.hybrid_voip_gateway;",
-59,38,"","Hybrid VOIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","hybrid voip gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.im_workload;",56,54,"","IM Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","im workload instant message","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.journaling_rule;",52,58,"","Journaling Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","journaling rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.local_move_request;",
-57,57,"","Local Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","local move request","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_control_panel;",69,58,"","Lync Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","lync control panel",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_phone_edition;",80,45,"","Lync Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","lync phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_room_system;",
-80,42,"","Lync Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","lync room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_server_management_tool;",75,47,"","Lync Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications","lync server management tool",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_storage_service;",66,59,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","lync storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.lync_web_app_client;",
-83,50,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","lync web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.mail_enabled_public_folder;",58,52,"","Mail-Enabled Public Folder",null,null,this.getTagsForStencil("mxgraph.office.communications","mail enabled public folder",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.mailbox_assistant;",59,57,"","Mailbox Assistant",null,null,this.getTagsForStencil("mxgraph.office.communications","mailbox assistant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.messages_queued;",
-59,57,"","Messages Queued",null,null,this.getTagsForStencil("mxgraph.office.communications","messages queued","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.offline_address_book;",59,53,"","Offline Address Book",null,null,this.getTagsForStencil("mxgraph.office.communications","offline address book",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.personal_archive_mailbox;",59,58,"","Personal Archive Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","personal archive mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.public_im_cloud_service;",
-60,58,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.communications","public im cloud service instant message","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"push notification service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.queue_viewer;",59,57,"","Queue Viewer",null,null,this.getTagsForStencil("mxgraph.office.communications","queue viewer","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.remote_mailbox;",
-59,57,"","Remote Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","remote mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.remote_move_request;",60,57,"","Remote Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","remote move request","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.communications","response group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.room_mailbox;",
-60,57,"","Room Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","room mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.shared_mailbox;",60,55,"","Shared Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","shared mailbox","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.sip_uri_um_dial_plan;",55,56,"","SIP URI UM Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","sip uri um dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.site_mailbox;",
-59,54,"","Site Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","site mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_control_panel;",65,59,"","Skype for Business Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business control panel",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_phone_edition;",76,45,"","Skype for Business Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_room_system;",
-74,41,"","Skype for Business Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_server_management_tool;",72,48,"","Skype for Business Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications",
-"skype for business server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business storage service","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.skype_for_business_web_app_client;",80,51,"","Skype for Business Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.sms_gateway;",
-59,37,"","SMS Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","sms gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.smtp_connector;",47,49,"","SMTP Connector",null,null,this.getTagsForStencil("mxgraph.office.communications","smtp connector","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.system_mailbox;",58,55,"","System Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","system mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.tdm_pbx;",
-59,46,"","TDM PBX",null,null,this.getTagsForStencil("mxgraph.office.communications","tdm pbx","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.telephone_extension_dial_plan;",55,56,"","Telephone Extension Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","telephone extension dial plan",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.transport_rule;",56,57,"","Transport Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","transport rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.ucma_application;",
-53,40,"","UCMA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucma application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.ucwa_application;",53,40,"","UCWA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucwa application","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_auto_attendant;",57,57,"","UM Auto Attendant",null,null,this.getTagsForStencil("mxgraph.office.communications","um auto attendant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_dial_plan_e164;",
-55,56,"","UM Dial Plan E164",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan e164","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_dial_plan_secondary;",55,56,"","UM Dial Plan Secondary",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan secondary",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_enabled_mailbox;",59,57,"","UM Enabled Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","um enabled mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_hunt_group;",
-59,48,"","UM Hunt Group",null,null,this.getTagsForStencil("mxgraph.office.communications","um hunt group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.um_ip_gateway;",59,38,"","UM IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","um ip gateway internet protocol","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.user_mailbox;",59,55,"","User Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","user mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.video_workload;",
-57,50,"","Video Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","video workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voice_mail_preview;",46,56,"","Voice Mail Preview",null,null,this.getTagsForStencil("mxgraph.office.communications","voice mail preview","office communication ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voice_workload;",58,51,"","Voice Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","voice workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.voip_gateway;",
-51,15,"","VoIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","voip gateway voice over ip internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.watcher_node;",52,56,"","Watcher Node",null,null,this.getTagsForStencil("mxgraph.office.communications","watcher node",
-"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.communications","xmpp service","office communication ").join(" "))];this.addPalette("officeCommunications","Office / Communications",!1,mxUtils.bind(this,function(d){for(var e=
-0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeConceptsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.address_book;",55,44,"","Address Book",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.address_book;",
-40,31,"","Address Book (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.anti_spam;",55,47,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.office.concepts","anti spam","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_android;",
-60,51,"","Application Android",null,null,this.getTagsForStencil("mxgraph.office.concepts","application android","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_generic;",53,40,"","Application Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_generic;",40,30,"","Application Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_hybrid;",
-59,44,"","Application Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","application hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_ios;",59,49,"","Application iOS",null,null,this.getTagsForStencil("mxgraph.office.concepts","application ios","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_web;",
-56,49,"","Application Web",null,null,this.getTagsForStencil("mxgraph.office.concepts","application web","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.application_windows;",59,47,"","Application Windows",null,null,this.getTagsForStencil("mxgraph.office.concepts","application windows","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_for_office;",53,40,"","App for Office",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for office","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_for_sharepoint;",
-53,40,"","App For SharePoint",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for sharepoint","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.app_part;",46,45,"","App Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","app part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.archive;",
-35,55,"","Archive",null,null,this.getTagsForStencil("mxgraph.office.concepts","archive","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.attachment;",22,44,"","Attachment",null,null,this.getTagsForStencil("mxgraph.office.concepts","attachment","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.backup_local;",
-48,44,"","Backup Local",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup local","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.backup_online;",55,60,"","Backup Online",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup online","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.bandwidth;",
-45,45,"","Bandwidth",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.bandwidth_calculator;",49,53,"","Bandwidth Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.best_practices;",
-53,53,"","Best Practices",null,null,this.getTagsForStencil("mxgraph.office.concepts","best practices","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.book_journal;",41,49,"","Book, Journal",null,null,this.getTagsForStencil("mxgraph.office.concepts","book journal","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.calculator;",
-32,46,"","Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.calendar;",53,49,"","Calendar",null,null,this.getTagsForStencil("mxgraph.office.concepts","calendar","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clipboard;",
-40,52,"","Clipboard",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clipboard;",30,39,"","Clipboard (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clock;",
-45,45,"","Clock",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.clock;",35,35,"","Clock (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.column;",
-52,43,"","Column",null,null,this.getTagsForStencil("mxgraph.office.concepts","column","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.connector;",44,32,"","Connector",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.connector;",
-33,24,"","Connector (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.contacts;",53,39,"","Contacts",null,null,this.getTagsForStencil("mxgraph.office.concepts","contacts","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.content_type;",
-53,40,"","Content Type",null,null,this.getTagsForStencil("mxgraph.office.concepts","content type","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.credit_card;",55,36,"","Credit Card",null,null,this.getTagsForStencil("mxgraph.office.concepts","credit card","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document;",
-40,47,"","Document",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document;",30,35,"","Document (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.documents;",
-46,54,"","Documents",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.documents_shared;",58,59,"","Documents Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_blank;",
-40,47,"","Document Blank",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_blank;",30,35,"","Document Blank (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.document_shared;",
-52,53,"","Document Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","document shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.download;",48,56,"","Download",null,null,this.getTagsForStencil("mxgraph.office.concepts","download","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email;",
-47,36,"","Email",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email;",31,24,"","Email (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_approved;",
-56,46,"","Email Approved",null,null,this.getTagsForStencil("mxgraph.office.concepts","email approved","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_expired;",56,46,"","Email Expired",null,null,this.getTagsForStencil("mxgraph.office.concepts","email expired","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.email_rejected;",
-55,45,"","Email Rejected",null,null,this.getTagsForStencil("mxgraph.office.concepts","email rejected","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.file_key;",48,53,"","File Key",null,null,this.getTagsForStencil("mxgraph.office.concepts","file key","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;",
-47,43,"","Firewall",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#2072B8;",47,43,"","Firewall (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#DA4026;",
-47,43,"","Firewall (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#7FBA42;",47,43,"","Firewall (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.firewall;fillColor=#CCCBCB;",
-47,43,"","Firewall (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;",50,45,"","Folder",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#2072B8;",
-50,45,"","Folder (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#DA4026;",50,45,"","Folder (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#7FBA42;",
-50,45,"","Folder (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;fillColor=#CCCBCB;",50,45,"","Folder (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder;",
-33,30,"","Folder (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folders;",57,53,"","Folders",null,null,this.getTagsForStencil("mxgraph.office.concepts","folders","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_open;",
-56,43,"","Folder, Open",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder open","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_public;",58,52,"","Folder, Public",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder public","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.folder_shared;",
-54,52,"","Folder, Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.form;",56,49,"","Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.get_started;",
-42,52,"","Get Started",null,null,this.getTagsForStencil("mxgraph.office.concepts","get started","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.globe_internet;",49,49,"","Globe, Internet",null,null,this.getTagsForStencil("mxgraph.office.concepts","globe internet","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.help;",
-49,49,"","Help",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.help;",38,38,"","Help (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;",
-51,50,"","Home",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#2072B8;",51,50,"","Home (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#DA4026;",
-51,50,"","Home (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#7FBA42;",51,50,"","Home (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;fillColor=#CCCBCB;",
-51,50,"","Home (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home;",39,38,"","Home (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;",
-53,43,"","Home Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#2072B8;",53,43,"","Home Page (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#DA4026;",
-53,43,"","Home Page (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#7FBA42;",53,43,"","Home Page (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.home_page;fillColor=#CCCBCB;",
-53,43,"","Home Page (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.hybrid;",58,52,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.input_output_filter;",
-46,46,"","Input Output Filter",null,null,this.getTagsForStencil("mxgraph.office.concepts","input output filter","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.install;",45,52,"","Install",null,null,this.getTagsForStencil("mxgraph.office.concepts","install","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.integration;",
-44,43,"","Integration",null,null,this.getTagsForStencil("mxgraph.office.concepts","integration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.lab;",47,50,"","Lab",null,null,this.getTagsForStencil("mxgraph.office.concepts","lab","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.learn;",
-56,57,"","Learn",null,null,this.getTagsForStencil("mxgraph.office.concepts","learn","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.license;",45,52,"","License",null,null,this.getTagsForStencil("mxgraph.office.concepts","license","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.link;",
-61,21,"","Link",null,null,this.getTagsForStencil("mxgraph.office.concepts","link","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.list_library;",52,48,"","List Library",null,null,this.getTagsForStencil("mxgraph.office.concepts","list library","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox;",
-53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox2;",
-53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.mailbox2;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.maintenance;",
-39,56,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.office.concepts","maintenance","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.marketplace_shopping_bag;",36,46,"","Marketplace, Shopping Bag",null,null,this.getTagsForStencil("mxgraph.office.concepts","marketplace shopping bag","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.meets_requirements;",56,53,"","Meets Requirements",null,null,this.getTagsForStencil("mxgraph.office.concepts","meets requirements","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.migration;",
-59,34,"","Migration",null,null,this.getTagsForStencil("mxgraph.office.concepts","migration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.moes;",40,47,"","MOEs",null,null,this.getTagsForStencil("mxgraph.office.concepts","moes","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.navigation;",
-53,40,"","Navigation",null,null,this.getTagsForStencil("mxgraph.office.concepts","navigation","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;",46,52,"","Node, Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#2072B8;",
-46,52,"","Node, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#DA4026;",46,52,"","Node, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#7FBA42;",
-46,52,"","Node, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.node_generic;fillColor=#CCCBCB;",46,52,"","Node, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.office_installed;",
-58,48,"","Office Installed",null,null,this.getTagsForStencil("mxgraph.office.concepts","office installed","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.on_premises;",34,55,"","On Premises",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.on_premises_directory;",
-50,59,"","On Premises Directory",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises directory","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.phishing;",59,47,"","Phishing",null,null,this.getTagsForStencil("mxgraph.office.concepts","phishing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.pin;",
-24,44,"","Pin",null,null,this.getTagsForStencil("mxgraph.office.concepts","pin","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.platform_options;",58,52,"","Platform Options",null,null,this.getTagsForStencil("mxgraph.office.concepts","platform options","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.powershell;",
-45,45,"","PowerShell",null,null,this.getTagsForStencil("mxgraph.office.concepts","powershell","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.properties;",50,49,"","Properties",null,null,this.getTagsForStencil("mxgraph.office.concepts","properties","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.publish;",
-57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.concepts","publish","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.remote_access;",59,41,"","Remote Access",null,null,this.getTagsForStencil("mxgraph.office.concepts","remote access","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.script;",
-53,49,"","Script",null,null,this.getTagsForStencil("mxgraph.office.concepts","script","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.search;",49,49,"","Search",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.search;",
-35,35,"","Search (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.service_application;",59,48,"","Service Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","service application","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings;",
-48,48,"","Settings",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings_office_365;",48,48,"","Settings, Office 365",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.settings_office_365;",
-31,31,"","Settings, Office 365 (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.sign_up;",51,47,"","Sign Up",null,null,this.getTagsForStencil("mxgraph.office.concepts","sign up","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.sound_file;",
-40,50,"","Sound File",null,null,this.getTagsForStencil("mxgraph.office.concepts","sound file","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.tasks;",40,52,"","Tasks",null,null,this.getTagsForStencil("mxgraph.office.concepts","tasks","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.technical_diagram;",
-50,56,"","Technical Diagram",null,null,this.getTagsForStencil("mxgraph.office.concepts","technical diagram","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_application;",58,42,"","Upgrade Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade application","office concept ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_server;",39,52,"","Upgrade Server",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade server","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upgrade_site;",
-59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade site","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.upload;",48,55,"","Upload",null,null,this.getTagsForStencil("mxgraph.office.concepts","upload","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.video_form;",
-58,49,"","Video Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","video form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.video_play;",50,40,"","Video Play",null,null,this.getTagsForStencil("mxgraph.office.concepts","video play","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.voicemail;",
-53,34,"","Voicemail",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.voicemail_preview;",57,52,"","Voicemail Preview",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail preview","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.walkthrough;",
-41,58,"","Walkthrough",null,null,this.getTagsForStencil("mxgraph.office.concepts","walkthrough","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.website;",59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.concepts","website","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_conferencing;",
-60,56,"","Web Conferencing",null,null,this.getTagsForStencil("mxgraph.office.concepts","web conferencing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_page;",50,54,"","Web Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","web page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_part;",
-45,52,"","Web Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","web part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.concepts","web services","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.whats_new;",
-55,38,"","Whats New",null,null,this.getTagsForStencil("mxgraph.office.concepts","whats new","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.writing_pen;",54,54,"","Writing, Pen",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pen","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.writing_pencil;",
-50,50,"","Writing, Pencil",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pencil","office concept ").join(" "))];this.addPalette("officeConcepts","Office / Concepts",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDatabasesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.address_book_store;",
-50,54,"","Address Book Store",null,null,this.getTagsForStencil("mxgraph.office.databases","address_book_store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.application_store;",49,53,"","Application Store",null,null,this.getTagsForStencil("mxgraph.office.databases","application store","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;",35,49,"","Database",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#2072B8;",
-35,49,"","Database (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#DA4026;",35,49,"","Database (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#7FBA42;",
-35,49,"","Database (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;fillColor=#CCCBCB;",35,49,"","Database (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database;",
-28,38,"","Database (small)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_availability_group;",59,59,"","Database Availability Group",null,null,this.getTagsForStencil("mxgraph.office.databases","availability group","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;",47,52,"","Database Cube",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#2072B8;",
-47,52,"","Database Cube (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#DA4026;",47,52,"","Database Cube (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#7FBA42;",
-47,52,"","Database Cube (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_cube;fillColor=#CCCBCB;",47,52,"","Database Cube (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;",
-35,27,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#2072B8;",35,27,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#DA4026;",
-35,27,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#7FBA42;",35,27,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_1;fillColor=#CCCBCB;",
-35,27,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;",35,42,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#2072B8;",
-35,42,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#DA4026;",35,42,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#7FBA42;",
-35,42,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_2;fillColor=#CCCBCB;",35,42,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;",
-35,57,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#2072B8;",35,57,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#DA4026;",
-35,57,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#7FBA42;",35,57,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mini_3;fillColor=#CCCBCB;",
-35,57,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mirror;",60,59,"","Database Mirror",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_mirror_witness_node;",
-60,59,"","Database Mirror Witness Node",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror witness node","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_2;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_3;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_4;",
-57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_partition_5;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_public_folder;",53,54,"","Database Public Folder",null,null,this.getTagsForStencil("mxgraph.office.databases","public folder","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server;",
-43,57,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.databases","server","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_blue;",43,57,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_orange;",43,57,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_green;",
-43,57,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.database_server_ghosted;",43,57,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.mailbox_database;",53,55,"","Mailbox Database",null,null,this.getTagsForStencil("mxgraph.office.databases","mailbox","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.monitoring_store;",
-58,58,"","Monitoring Store",null,null,this.getTagsForStencil("mxgraph.office.databases","monitoring store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.unified_contact_store;",54,55,"","Unified Contact Store",null,null,this.getTagsForStencil("mxgraph.office.databases","unified contact store","office database db ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.web_store;",50,54,"","Web Store",null,null,this.getTagsForStencil("mxgraph.office.databases","web store","office database db ").join(" "))];this.addPalette("officeDatabases","Office / Databases",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDevicesPalette=
-function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.bluetooth;",56,57,"","Bluetooth",null,null,this.getTagsForStencil("mxgraph.office.devices","bluetooth","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cd_dvd;",
-49,49,"","CD, DVD",null,null,this.getTagsForStencil("mxgraph.office.devices","cd dvd compact disc digital video drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_android_proportional;",17,31,"","Cell Phone, Android, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android proportional",
-"office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_android_standalone;",24,44,"","Cell Phone, Android, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_generic;",
-26,47,"","Cell Phone, Generic",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_generic;",21,37,"","Cell Phone, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic small","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_iphone_proportional;",17,29,"","Cell Phone, iPhone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_iphone_standalone;",
-25,42,"","Cell Phone, iPhone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_windows_phone_proportional;",16,29,"","Cell Phone, Windows Phone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices",
-"cell phone windows phone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.cell_phone_windows_phone_standalone;",24,42,"","Cell Phone, Windows Phone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone windows standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.data_jack;",
-47,47,"","Data Jack",null,null,this.getTagsForStencil("mxgraph.office.devices","data jack","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.device_update_service;",50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.devices","device update service","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.fax;",
-57,47,"","Fax",null,null,this.getTagsForStencil("mxgraph.office.devices","fax","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.hard_disk;",40,54,"","Hard Disk",null,null,this.getTagsForStencil("mxgraph.office.devices","hard disk hdd drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.headset;",
-36,48,"","Headset",null,null,this.getTagsForStencil("mxgraph.office.devices","headset","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ipad_mini;",33,47,"","iPad, Mini",null,null,this.getTagsForStencil("mxgraph.office.devices","ipad mini","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ip_gateway;",
-59,40,"","IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","ip gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.ip_pbx;",59,39,"","IP PBX",null,null,this.getTagsForStencil("mxgraph.office.devices","ip pbx","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.laptop;",
-58,34,"","Laptop",null,null,this.getTagsForStencil("mxgraph.office.devices","laptop","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.lcd_monitor;",58,48,"","LCD Monitor",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.lcd_monitor;",
-39,32,"","LCD Monitor (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.load_balancer;",59,39,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.office.devices","load balancer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.mac_client;",
-58,48,"","Mac Client",null,null,this.getTagsForStencil("mxgraph.office.devices","mac client","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.management_console;",58,48,"","Management Console",null,null,this.getTagsForStencil("mxgraph.office.devices","management console","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.microphone;",
-53,37,"","Microphone",null,null,this.getTagsForStencil("mxgraph.office.devices","microphone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.modem;",54,34,"","Modem",null,null,this.getTagsForStencil("mxgraph.office.devices","modem","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.nic;",
-57,38,"","NIC",null,null,this.getTagsForStencil("mxgraph.office.devices","nic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_digital;",49,42,"","Phone, Digital",null,null,this.getTagsForStencil("mxgraph.office.devices","phone digital","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_traditional;",
-48,40,"","Phone, Traditional",null,null,this.getTagsForStencil("mxgraph.office.devices","phone traditional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_usb;",58,51,"","Phone, USB",null,null,this.getTagsForStencil("mxgraph.office.devices","phone usb","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.phone_voip;",
-57,51,"","Phone, VoIP",null,null,this.getTagsForStencil("mxgraph.office.devices","phone voip voice over internet protocol","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.printer;",56,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.office.devices","printer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.roundtable;",
-50,58,"","Roundtable",null,null,this.getTagsForStencil("mxgraph.office.devices","roundtable","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.router;",55,56,"","Router",null,null,this.getTagsForStencil("mxgraph.office.devices","router","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.session_border_controller;",
-59,52,"","Session Border Controller",null,null,this.getTagsForStencil("mxgraph.office.devices","session border controller","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.shadowed_router;",59,59,"","Shadowed Router",null,null,this.getTagsForStencil("mxgraph.office.devices","shadowed router","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.stylus;",57,57,"","Stylus",null,null,this.getTagsForStencil("mxgraph.office.devices","stylus","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.switch;",
-55,18,"","Switch",null,null,this.getTagsForStencil("mxgraph.office.devices","switch","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_android;",56,37,"","Tablet, Android",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet android","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_ipad;",
-39,52,"","Tablet, iPad",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet ipad","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_windows_7inch;",34,47,"","Tablet, Windows, 7inch",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows seven inch","office device ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tablet_windows_8;",56,35,"","Tablet, Windows 8",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows eight","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.tv;",
-59,45,"","TV",null,null,this.getTagsForStencil("mxgraph.office.devices","tv television","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.video_camera;",52,25,"","Video Camera",null,null,this.getTagsForStencil("mxgraph.office.devices","video camera","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.video_gateway;",
-59,41,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","video gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.webcam;",40,50,"","Webcam",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.webcam_hd;",
-56,59,"","Webcam, HD",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam hd high definition","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation;",53,56,"","Workstation",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation_pc;",
-53,59,"","Workstation, PC",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation pc personal computer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.workstation_visual_studio;",53,59,"","Workstation, Visual Studio",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation visual studio",
-"office device ").join(" "))];this.addPalette("officeDevices","Office / Devices",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSecurityPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.active_directory;",53,46,"","Active Directory",null,null,this.getTagsForStencil("mxgraph.office.security",
-"active directory","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.address_book_policies;",55,53,"","Address Book Policies",null,null,this.getTagsForStencil("mxgraph.office.security","address book policies","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.certificate;",
-58,50,"","Certificate",null,null,this.getTagsForStencil("mxgraph.office.security","certificate","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.certificate;",39,33,"","Certificate (small)",null,null,this.getTagsForStencil("mxgraph.office.security","certificate small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.credentials;",
-56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.security","credentials","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.domain;",53,46,"","Domain",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.domain;",
-41,36,"","Domain (small)",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.email_address_policy;",55,53,"","Email Address Policy",null,null,this.getTagsForStencil("mxgraph.office.security","email address policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.federation_service;",
-58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.security","federation service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.federation_trust;",58,59,"","Federation Trust",null,null,this.getTagsForStencil("mxgraph.office.security","federation trust","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.irm_protected_message;",56,50,"","IRM-Protected Message",null,null,this.getTagsForStencil("mxgraph.office.security","irm protected message","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;",
-25,53,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#2072B8;",25,53,"","Key, Permissions (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#DA4026;",25,53,"","Key, Permissions (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#7FBA42;",
-25,53,"","Key, Permissions (green)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;fillColor=#CCCBCB;",25,53,"","Key, Permissions (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.key_permissions;",19,40,"","Key, Permissions (small)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;",
-38,52,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#2072B8;",38,52,"","Lock, Protected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#DA4026;",
-38,52,"","Lock, Protected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#7FBA42;",38,52,"","Lock, Protected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;fillColor=#CCCBCB;",38,52,"","Lock, Protected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_protected;",
-28,37,"","Lock, Protected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;",38,55,"","Lock, Unprotected",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#2072B8;",38,55,"","Lock, Unprotected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#DA4026;",
-38,55,"","Lock, Unprotected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#7FBA42;",38,55,"","Lock, Unprotected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;fillColor=#CCCBCB;",38,55,"","Lock, Unprotected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_unprotected;",
-28,40,"","Lock, Unprotected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security;",47,58,"","Lock With Key, Security",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
-"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_blue;",47,58,"","Lock With Key, Security (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_orange;",
-47,58,"","Lock With Key, Security (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_green;",47,58,"","Lock With Key, Security (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
-"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.lock_with_key_security_ghosted;",47,58,"","Lock With Key, Security (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.management_role;",
-45,45,"","Management Role",null,null,this.getTagsForStencil("mxgraph.office.security","management role","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.policy;",53,49,"","Policy",null,null,this.getTagsForStencil("mxgraph.office.security","policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.policy;",
-39,36,"","Policy (small)",null,null,this.getTagsForStencil("mxgraph.office.security","policy small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.protected_voice_mail;",59,51,"","Protected Voice Mail",null,null,this.getTagsForStencil("mxgraph.office.security","protected voice mail","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.retention_policy;",54,55,"","Retention Policy",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.retention_policy_tag;",
-56,58,"","Retention Policy Tag",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy tag","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.role_assignment_policy;",55,54,"","Role Assignment Policy",null,null,this.getTagsForStencil("mxgraph.office.security","role assignment policy","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.security","role group","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.secure_messaging;",
-55,46,"","Secure Messaging",null,null,this.getTagsForStencil("mxgraph.office.security","secure messaging","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.security_access_portal;",64,55,"","Security Access Portal",null,null,this.getTagsForStencil("mxgraph.office.security","security access portal","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.sharing_policy;",56,53,"","Sharing Policy",null,null,this.getTagsForStencil("mxgraph.office.security","sharing policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.split_domain_user;",
-59,55,"","Split-Domain User",null,null,this.getTagsForStencil("mxgraph.office.security","split domain user","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token;",41,52,"","Token",null,null,this.getTagsForStencil("mxgraph.office.security","token","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token;",
-29,37,"","Token (small)",null,null,this.getTagsForStencil("mxgraph.office.security","token small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.token_service;",60,56,"","Token Service",null,null,this.getTagsForStencil("mxgraph.office.security","token service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.trusted_application_server;",
-46,57,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.security","trusted application server","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.um_mailbox_policy;",55,53,"","UM Mailbox Policy",null,null,this.getTagsForStencil("mxgraph.office.security","um mailbox policy","office security ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.security","universal security group","office security ").join(" "))];this.addPalette("officeSecurity","Office / Security",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};
-Sidebar.prototype.addOfficeServersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.3rd_party_mail_server;",47,59,"","3rd Party Mail Server",null,null,this.getTagsForStencil("mxgraph.office.servers","3rd party mail server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_proxy;",
-44,55,"","Active Directory Federation Services Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server;",45,56,"","Active Directory Federation Services Server",null,null,
-this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_blue;",45,56,"","Active Directory Federation Services Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_orange;",45,56,"","Active Directory Federation Services Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_green;",
-45,56,"","Active Directory Federation Services Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.active_directory_federation_services_server_ghosted;",45,56,"","Active Directory Federation Services Server (ghosted)",
-null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server;",46,56,"","Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_blue;",
-46,56,"","Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_orange;",46,56,"","Application Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_green;",46,56,"","Application Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.application_server_ghosted;",
-46,56,"","Application Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.call_admission_control_service;",50,60,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.servers","call admission control service",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.certificate_authority;",46,59,"","Certificate Authority",null,null,this.getTagsForStencil("mxgraph.office.servers","certificate authority","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.cluster_server;",
-49,59,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.office.servers","cluster_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server;",43,56,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_blue;",
-43,56,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_orange;",43,56,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_green;",43,56,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.database_server_ghosted;",
-43,56,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.datacenter;",53,53,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.office.servers","datacenter","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.dirsync_server;",
-47,56,"","DirSync Server",null,null,this.getTagsForStencil("mxgraph.office.servers","dirsync server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.domain_controller;",45,55,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.office.servers","domain controller","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.excahnge_client_access_server_role;",
-52,59,"","Exchange Client Access Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","excahnge client access server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_edge_transport_server_role;",52,55,"","Exchange Edge Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"exchange edge transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_hub_transport_server_role;",52,59,"","Exchange Hub Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange hub transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_mailbox_server_role;",
-52,59,"","Exchange Mailbox Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_um_server_role;",52,59,"","Exchange UM Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange um server role",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_client_access_server;",57,59,"","Exchange Client Access Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange client access server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_edge_transport_server;",
-57,55,"","Exchange Edge Transport Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_mailbox_server;",57,59,"","Exchange Mailbox Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.exchange_server;",57,55,"","Exchange Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.file_server;",
-45,56,"","File Server",null,null,this.getTagsForStencil("mxgraph.office.servers","file server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.hybrid_server;",59,52,"","Hybrid Server",null,null,this.getTagsForStencil("mxgraph.office.servers","hybrid server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.mainframe;",
-58,42,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.mainframe_host;",44,42,"","Mainframe Host",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.monitoring_sql_reporting_services;",
-50,59,"","Monitoring SQL Reporting Services",null,null,this.getTagsForStencil("mxgraph.office.servers","monitoring sql reporting services","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.network;",34,57,"","Network",null,null,this.getTagsForStencil("mxgraph.office.servers","network","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.office_web_apps_server;",
-52,56,"","Office Web Apps Server",null,null,this.getTagsForStencil("mxgraph.office.servers","office web apps server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.on_premises_server;",44,58,"","On Premises Server",null,null,this.getTagsForStencil("mxgraph.office.servers","on premises server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.physical_host;fillColor=#2072B8;",27,52,"","Physical Host",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.physical_host_farm;fillColor=#2072B8;",
-56,49,"","Physical Host Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.reverse_proxy;",41,53,"","Reverse Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","reverse proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.scom;",
-56,53,"","SCOM",null,null,this.getTagsForStencil("mxgraph.office.servers","scom","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_disaster;",46,57,"","Server Disaster",null,null,this.getTagsForStencil("mxgraph.office.servers","server disaster","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;",
-56,49,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#2072B8;",56,49,"","Server Farm (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#DA4026;",
-56,49,"","Server Farm (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#7FBA42;",56,49,"","Server Farm (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_farm;fillColor=#CCCBCB;",56,49,"","Server Farm (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;",
-27,52,"","Server, Generic",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#2072B8;",27,52,"","Server, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#DA4026;",
-27,52,"","Server, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#7FBA42;",27,52,"","Server, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;fillColor=#CCCBCB;",27,52,"","Server, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_generic;",
-20,39,"","Server, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.server_side_code;",49,56,"","Server Side Code",null,null,this.getTagsForStencil("mxgraph.office.servers","server side code","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.sharepoint_server;",56,55,"","Sharepoint Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sharepoint server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_back_end_server;",
-54,60,"","Skype for Business Back End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_back_end_server_mirror;",54,60,"","Skype for Business Back End Server Mirror",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business back end server mirror","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_director;",54,55,"","Skype for Business Director",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_director_array;",
-70,60,"","Skype for Business Director Array",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director array","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_edge_server;",54,55,"","Skype for Business Edge Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business edge server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_edge_server_pool;",70,60,"","Skype for Business Edge Server Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_front_end_pool;",
-70,60,"","Skype for Business Front End Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business front end pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_front_end_server;",54,60,"","Skype for Business Front End Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business front end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_mediation_server;",54,60,"","Skype for Business Mediation Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business mediation server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_monitoring_server;",
-54,60,"","Skype for Business Monitoring Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business monitoring server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_persistent_chat_server;",54,58,"","Skype for Business Persistent Chat Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
-"skype for business persistent chat server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.skype_for_business_server;",54,55,"","Skype for Business Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.sql_server;",
-43,56,"","SQL Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sql server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.survivable_branch_appliance;",37,59,"","Survivable Branch Appliance",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch appliance","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.survivable_branch_server;",42,58,"","Survivable Branch Server",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.topology_builder;",
-59,59,"","Topology Builder",null,null,this.getTagsForStencil("mxgraph.office.servers","topology builder","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.trusted_application_pool;",59,59,"","Trusted Application Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application pool","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.trusted_application_server;",43,52,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.tunnel_angled;",
-55,35,"","Tunnel Angled",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel angled","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.tunnel_straight;",59,10,"","Tunnel Straight",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel straight","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.universal_security_group;",
-58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.servers","universal security group","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.video_interop_server;",54,60,"","Video Interop Server",null,null,this.getTagsForStencil("mxgraph.office.servers","video interop server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_application_server;",48,55,"","Virtual Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_application_server;fillColor=#2072B8;",
-48,55,"","Virtual Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_database_server;",41,56,"","Virtual Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server",
-"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_database_server;fillColor=#2072B8;",41,56,"","Virtual Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;",
-28,52,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;fillColor=#2072B8;",28,52,"","Virtual Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_server;",
-20,37,"","Virtual Server (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_web_server;",44,55,"","Virtual Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.virtual_web_server;fillColor=#2072B8;",44,55,"","Virtual Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.vociemail_preview_partner;",
-46,56,"","Vociemail Preview Partner",null,null,this.getTagsForStencil("mxgraph.office.servers","vociemail preview partner","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server;",48,57,"","Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_blue;",
-48,57,"","Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_orange;",48,57,"","Web Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_green;",
-48,57,"","Web Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.web_server_ghosted;",48,57,"","Web Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.windows_router;",
-52,59,"","Windows Router",null,null,this.getTagsForStencil("mxgraph.office.servers","windows router","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.windows_server;",52,55,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.office.servers","windows server","office server ").join(" "))];this.addPalette("officeServers",
-"Office / Servers",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.services","3rd party service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.services","access services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.business_connectivity_services;",
-34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.services","business connectivity services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.call_admission_control_service;",50,59,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.services",
-"call admission control service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.central_management_service;",51,54,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.services","central management service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.conference_announcement_service;",
-59,59,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.services","conference announcement service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.device_update_service;",50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.services","device update service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.email_service;",58,48,"","Email Service",null,null,this.getTagsForStencil("mxgraph.office.services","email service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.excel_services;",
-60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.services","excel services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.federation_service;",58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.services","federation service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.lync_storage_service;",
-65,58,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","lync storage service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.lync_web_app_client;",83,51,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.services","lync web app client","office service ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.mobility_service;",45,53,"","Mobility Service",null,null,this.getTagsForStencil("mxgraph.office.services","mobility service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.network_file_share_service;",
-55,53,"","Network File Share Service",null,null,this.getTagsForStencil("mxgraph.office.services","network file share service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.online_hosted_services;",56,52,"","Online Hosted Services",null,null,this.getTagsForStencil("mxgraph.office.services","online hosted services",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.outlook_web_app;",83,51,"","Outlook Web App",null,null,this.getTagsForStencil("mxgraph.office.services","outlook web app","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.powerpoint_automation_services;",
-59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","powerpoint automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.services","push notification service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.registrar_service;",56,52,"","Registrar Service",null,null,this.getTagsForStencil("mxgraph.office.services","registrar service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.response_group_service;",
-58,54,"","Response Group Service",null,null,this.getTagsForStencil("mxgraph.office.services","response group service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","skype for business storage service",
-"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.services","user services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.verification_service;",
-57,59,"","Verification Service",null,null,this.getTagsForStencil("mxgraph.office.services","verification service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.services","web services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.word_automation_services;",
-60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","word automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.services","xmpp service","office service ").join(" "))];
-this.addPalette("officeServices","Office / Services",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSitesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.sites",
-"access services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.blog_site;",56,49,"","Blog Site",null,null,this.getTagsForStencil("mxgraph.office.sites","blog site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.business_connectivity_services;",
-34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.sites","business connectivity services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.sites","excel services","office site ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.meeting_workspace_site;",58,50,"","Meeting Workspace Site",null,null,this.getTagsForStencil("mxgraph.office.sites","meeting workspace site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.my_site;",
-58,49,"","My Site",null,null,this.getTagsForStencil("mxgraph.office.sites","my site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","powerpoint automation services","office site ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.publish;",57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.sites","publish","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_collection;",
-52,40,"","Site Collection",null,null,this.getTagsForStencil("mxgraph.office.sites","site collection","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_shared;",56,50,"","Site Shared",null,null,this.getTagsForStencil("mxgraph.office.sites","site shared","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.site_team;",
-60,49,"","Site, Team",null,null,this.getTagsForStencil("mxgraph.office.sites","site team","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;",53,40,"","Subsite",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#2072B8;",
-53,40,"","Subsite (blue)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#DA4026;",53,40,"","Subsite (orange)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#7FBA42;",
-53,40,"","Subsite (green)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;fillColor=#CCCBCB;",53,40,"","Subsite (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.subsite;",
-38,29,"","Subsite (small)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute small","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.upgrade_site;",59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.sites","upgrade site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.website;",
-59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.sites","website","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.website_public;",58,48,"","Website, Public",null,null,this.getTagsForStencil("mxgraph.office.sites","website public","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.wiki_site;",
-59,50,"","Wiki Site",null,null,this.getTagsForStencil("mxgraph.office.sites","wiki_site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.word_automation_services;",60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","word automation services","office site ").join(" "))];this.addPalette("officeSites",
-"Office / Sites",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeUsersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.administrator;",58,56,"","Administrator",null,null,this.getTagsForStencil("mxgraph.office.users","administrator","office user ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.approver;",59,55,"","Approver",null,null,this.getTagsForStencil("mxgraph.office.users","approver","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.call_center_agent;",
-46,55,"","Call Center Agent",null,null,this.getTagsForStencil("mxgraph.office.users","call center agent","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.communications;",54,58,"","Communications",null,null,this.getTagsForStencil("mxgraph.office.users","communications","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.conferencing_attendant;",
-53,59,"","Conferencing Attendant",null,null,this.getTagsForStencil("mxgraph.office.users","conferencing attendant","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.users","credentials","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.csv_file;",
-59,43,"","CSV File",null,null,this.getTagsForStencil("mxgraph.office.users","csv comma separated value file","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.distribution_group;",58,59,"","Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.dynamic_distribution_group;",
-58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","dynamic distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.mail_user;",58,59,"","Mail User",null,null,this.getTagsForStencil("mxgraph.office.users","mail user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.meeting;",
-59,38,"","Meeting",null,null,this.getTagsForStencil("mxgraph.office.users","meeting","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.mobile_user;",59,56,"","Mobile User",null,null,this.getTagsForStencil("mxgraph.office.users","mobile user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.online_user;",
-54,43,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.users","online user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.on_premises_user;",49,59,"","On-Premises User",null,null,this.getTagsForStencil("mxgraph.office.users","on premises user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.outlook_user;",
-63,55,"","Outlook User",null,null,this.getTagsForStencil("mxgraph.office.users","outlook user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.users","response group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.role_group;",
-59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.users","role group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.skype_commercial_user;",59,56,"","Skype Commercial User",null,null,this.getTagsForStencil("mxgraph.office.users","skype commercial user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.skype_for_business_user;",
-59,56,"","Skype for Business User",null,null,this.getTagsForStencil("mxgraph.office.users","skype for business user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.tenant_admin;",56,58,"","Tenant Admin",null,null,this.getTagsForStencil("mxgraph.office.users","tenant admin","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.um_enabled_user;",
-58,59,"","UM-Enabled User",null,null,this.getTagsForStencil("mxgraph.office.users","um enabled user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.users","universal security group","office user ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;",46,50,"","User",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#2072B8;",
-46,50,"","User (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#DA4026;",46,50,"","User (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#7FBA42;",
-46,50,"","User (green)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;fillColor=#CCCBCB;",46,50,"","User (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user;",
-32,35,"","User (small)",null,null,this.getTagsForStencil("mxgraph.office.users","user small","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;",46,50,"","Users",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#2072B8;",
-46,50,"","Users (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#DA4026;",46,50,"","Users (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#7FBA42;",
-46,50,"","Users (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users;fillColor=#CCCBCB;",46,50,"","Users (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;",
-57,43,"","Users, Two",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#2072B8;",57,43,"","Users, Two (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#DA4026;",
-57,43,"","Users, Two (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#7FBA42;",57,43,"","Users, Two (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.users_two;fillColor=#CCCBCB;",
-57,43,"","Users, Two (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_accounts;",59,59,"","User Accounts",null,null,this.getTagsForStencil("mxgraph.office.users","user accounts","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_external;",
-59,50,"","User External",null,null,this.getTagsForStencil("mxgraph.office.users","user external","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.users","user services","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.user_store;",
-50,55,"","User Store",null,null,this.getTagsForStencil("mxgraph.office.users","user store","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.writer;",54,59,"","Writer",null,null,this.getTagsForStencil("mxgraph.office.users","writer","office user ").join(" "))];this.addPalette("officeUsers","Office / Users",!1,mxUtils.bind(this,
-function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addPidInstrumentsPalette=function(){var a="html=1;align=center;dashed=0;"+mxConstants.STYLE_SHAPE+"=mxgraph.pid2";this.addPaletteFunctions("pidInstruments","Proc. Eng. / Instruments",!1,[this.createVertexTemplateEntry(a+"inst.discInst;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
+100,85,"","Wireless Hub",null,null,this.getTagsForStencil("mxgraph.networks","wireless_hub","computer network ").join(" ")),this.createVertexTemplateEntry("fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;shape=mxgraph.networks.wireless_modem;",100,85,"","Wireless Modem",null,null,this.getTagsForStencil("mxgraph.networks","wireless_modem","computer network ").join(" "))])}})();(function(){Sidebar.prototype.addOfficePalette=function(){this.addOfficeCloudsPalette();this.addOfficeCommunicationsPalette();this.addOfficeConceptsPalette();this.addOfficeDatabasesPalette();this.addOfficeDevicesPalette();this.addOfficeSecurityPalette();this.addOfficeServersPalette();this.addOfficeServicesPalette();this.addOfficeSitesPalette();this.addOfficeUsersPalette()};Sidebar.prototype.addOfficeCloudsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.azure;",
+103,66,"","Azure",null,null,this.getTagsForStencil("mxgraph.office.clouds","azure","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud;",94,55,"","Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_disaster;",
+94,74,"","Cloud Disaster",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_disaster;fillColor=#ff0000;",94,74,"","Cloud Disaster (Red)",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud disaster","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_exchange_online;",
+100,61,"","Cloud Exchange Online",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud exchange online","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_service_request;",102,80,"","Cloud Service Request",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud service request","office cloud ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.cloud_sharepoint;",101,61,"","Cloud SharePoint",null,null,this.getTagsForStencil("mxgraph.office.clouds","cloud sharepoint","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.office_365;",
+101,61,"","Office 365",null,null,this.getTagsForStencil("mxgraph.office.clouds","office 365","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.online_backup;",94,101,"","Online Backup",null,null,this.getTagsForStencil("mxgraph.office.clouds","online backup","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.online_user;",
+93,74,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.clouds","online user","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.private_cloud;",94,55,"","Private Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","private cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.public_cloud;",
+101,81,"","Public Cloud",null,null,this.getTagsForStencil("mxgraph.office.clouds","public cloud","office cloud ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.public_im_cloud_service;",102,99,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.clouds","public im instant message cloud service",
+"office cloud ").join(" "))];this.addPalette("officeClouds","Office / Clouds",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeCommunicationsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_call_center_solution;",98,101,"",
+"3rd Party Call Center Solution",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party call center solution","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_integration;",54,55,"","3rd Party Integration",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"3rd party integration","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.3rd_party_service;",53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.communications","3rd party service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.application_sharing_workload;",
+57,49,"","Application Sharing Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","application sharing workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.audio_conferencing_application;",59,46,"","Audio Conferencing Application",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"audio_conferencing_application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.central_management_service;",52,55,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.communications","central management service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.chat_room;",
+46,48,"","Chat Room",null,null,this.getTagsForStencil("mxgraph.office.communications","chat room","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.conference_announcement_service;",60,60,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"conference announcement service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.disconnected_mailbox;",60,55,"","Disconnected Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","disconnected mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.discovery_search_mailbox;",
+55,49,"","Discovery Search Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","discovery search mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"dynamic distribution group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.edge_subscription;",57,59,"","Edge Subscription",null,null,this.getTagsForStencil("mxgraph.office.communications","edge subscription","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.email_workloaad;",
+57,47,"","Email Workloaad",null,null,this.getTagsForStencil("mxgraph.office.communications","email workloaad","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.equipment_mailbox;",59,59,"","Equipment Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","equipment mailbox",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.exchange_active_sync;",49,49,"","Exchange Active Sync",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.exchange_active_sync;fillColor=#2072B8;",
+49,49,"","Exchange Active Sync - Blue",null,null,this.getTagsForStencil("mxgraph.office.communications","exchange_active_sync","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.fax_partner;",45,56,"","Fax Partner",null,null,this.getTagsForStencil("mxgraph.office.communications","fax partner",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.global_address_list;",59,53,"","Global Address List",null,null,this.getTagsForStencil("mxgraph.office.communications","global address list","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.hybrid_voip_gateway;",
+59,38,"","Hybrid VOIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","hybrid voip gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.im_workload;",56,54,"","IM Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","im workload instant message",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.journaling_rule;",52,58,"","Journaling Rule",null,null,this.getTagsForStencil("mxgraph.office.communications","journaling rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.local_move_request;",
+57,57,"","Local Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","local move request","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_control_panel;",69,58,"","Lync Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications","lync control panel",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_phone_edition;",80,45,"","Lync Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","lync phone edition","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_room_system;",
+80,42,"","Lync Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","lync room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_server_management_tool;",75,47,"","Lync Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"lync server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_storage_service;",66,59,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.communications","lync storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.lync_web_app_client;",
+83,50,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications","lync web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.mail_enabled_public_folder;",58,52,"","Mail-Enabled Public Folder",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"mail enabled public folder","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.mailbox_assistant;",59,57,"","Mailbox Assistant",null,null,this.getTagsForStencil("mxgraph.office.communications","mailbox assistant","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.messages_queued;",
+59,57,"","Messages Queued",null,null,this.getTagsForStencil("mxgraph.office.communications","messages queued","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.offline_address_book;",59,53,"","Offline Address Book",null,null,this.getTagsForStencil("mxgraph.office.communications","offline address book",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.personal_archive_mailbox;",59,58,"","Personal Archive Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","personal archive mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.public_im_cloud_service;",
+60,58,"","Public IM Cloud Service",null,null,this.getTagsForStencil("mxgraph.office.communications","public im cloud service instant message","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"push notification service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.queue_viewer;",59,57,"","Queue Viewer",null,null,this.getTagsForStencil("mxgraph.office.communications","queue viewer","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.remote_mailbox;",
+59,57,"","Remote Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","remote mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.remote_move_request;",60,57,"","Remote Move Request",null,null,this.getTagsForStencil("mxgraph.office.communications","remote move request",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.response_group;",58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.communications","response group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.room_mailbox;",
+60,57,"","Room Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","room mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.shared_mailbox;",60,55,"","Shared Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","shared mailbox","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.sip_uri_um_dial_plan;",55,56,"","SIP URI UM Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","sip uri um dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.site_mailbox;",
+59,54,"","Site Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","site mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_control_panel;",65,59,"","Skype for Business Control Panel",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"skype for business control panel","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_phone_edition;",76,45,"","Skype for Business Phone Edition",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business phone edition","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_room_system;",74,41,"","Skype for Business Room System",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business room system","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_server_management_tool;",
+72,48,"","Skype for Business Server Management Tool",null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business server management tool","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",
+null,null,this.getTagsForStencil("mxgraph.office.communications","skype for business storage service","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.skype_for_business_web_app_client;",80,51,"","Skype for Business Web App Client",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"skype for business web app client","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.sms_gateway;",59,37,"","SMS Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","sms gateway","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.smtp_connector;",
+47,49,"","SMTP Connector",null,null,this.getTagsForStencil("mxgraph.office.communications","smtp connector","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.system_mailbox;",58,55,"","System Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","system mailbox","office communication ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.tdm_pbx;",59,46,"","TDM PBX",null,null,this.getTagsForStencil("mxgraph.office.communications","tdm pbx","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.telephone_extension_dial_plan;",
+55,56,"","Telephone Extension Dial Plan",null,null,this.getTagsForStencil("mxgraph.office.communications","telephone extension dial plan","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.transport_rule;",56,57,"","Transport Rule",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"transport rule","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.ucma_application;",53,40,"","UCMA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucma application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.ucwa_application;",
+53,40,"","UCWA Application",null,null,this.getTagsForStencil("mxgraph.office.communications","ucwa application","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_auto_attendant;",57,57,"","UM Auto Attendant",null,null,this.getTagsForStencil("mxgraph.office.communications","um auto attendant",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_dial_plan_e164;",55,56,"","UM Dial Plan E164",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan e164","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_dial_plan_secondary;",
+55,56,"","UM Dial Plan Secondary",null,null,this.getTagsForStencil("mxgraph.office.communications","um dial plan secondary","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_enabled_mailbox;",59,57,"","UM Enabled Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications",
+"um enabled mailbox","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_hunt_group;",59,48,"","UM Hunt Group",null,null,this.getTagsForStencil("mxgraph.office.communications","um hunt group","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.um_ip_gateway;",
+59,38,"","UM IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","um ip gateway internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.user_mailbox;",59,55,"","User Mailbox",null,null,this.getTagsForStencil("mxgraph.office.communications","user mailbox",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.video_workload;",57,50,"","Video Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","video workload","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voice_mail_preview;",
+46,56,"","Voice Mail Preview",null,null,this.getTagsForStencil("mxgraph.office.communications","voice mail preview","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voice_workload;",58,51,"","Voice Workload",null,null,this.getTagsForStencil("mxgraph.office.communications","voice workload",
+"office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.voip_gateway;",51,15,"","VoIP Gateway",null,null,this.getTagsForStencil("mxgraph.office.communications","voip gateway voice over ip internet protocol","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.watcher_node;",
+52,56,"","Watcher Node",null,null,this.getTagsForStencil("mxgraph.office.communications","watcher node","office communication ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.communications","xmpp service","office communication ").join(" "))];
+this.addPalette("officeCommunications","Office / Communications",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeConceptsPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.address_book;",55,44,"","Address Book",null,null,this.getTagsForStencil("mxgraph.office.concepts",
+"address book","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.address_book;",40,31,"","Address Book (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","address book small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.anti_spam;",
+55,47,"","Anti-Spam",null,null,this.getTagsForStencil("mxgraph.office.concepts","anti spam","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_android;",60,51,"","Application Android",null,null,this.getTagsForStencil("mxgraph.office.concepts","application android","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_generic;",53,40,"","Application Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_generic;",
+40,30,"","Application Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","application generic small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_hybrid;",59,44,"","Application Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","application hybrid",
+"office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_ios;",59,49,"","Application iOS",null,null,this.getTagsForStencil("mxgraph.office.concepts","application ios","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_web;",
+56,49,"","Application Web",null,null,this.getTagsForStencil("mxgraph.office.concepts","application web","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.application_windows;",59,47,"","Application Windows",null,null,this.getTagsForStencil("mxgraph.office.concepts","application windows","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_for_office;",53,40,"","App for Office",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for office","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_for_sharepoint;",
+53,40,"","App For SharePoint",null,null,this.getTagsForStencil("mxgraph.office.concepts","app for sharepoint","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.app_part;",46,45,"","App Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","app part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.archive;",
+35,55,"","Archive",null,null,this.getTagsForStencil("mxgraph.office.concepts","archive","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.attachment;",22,44,"","Attachment",null,null,this.getTagsForStencil("mxgraph.office.concepts","attachment","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.backup_local;",
+48,44,"","Backup Local",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup local","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.backup_online;",55,60,"","Backup Online",null,null,this.getTagsForStencil("mxgraph.office.concepts","backup online","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.bandwidth;",
+45,45,"","Bandwidth",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.bandwidth_calculator;",49,53,"","Bandwidth Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","bandwidth calculator","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.best_practices;",53,53,"","Best Practices",null,null,this.getTagsForStencil("mxgraph.office.concepts","best practices","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.book_journal;",
+41,49,"","Book, Journal",null,null,this.getTagsForStencil("mxgraph.office.concepts","book journal","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.calculator;",32,46,"","Calculator",null,null,this.getTagsForStencil("mxgraph.office.concepts","calculator","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.calendar;",
+53,49,"","Calendar",null,null,this.getTagsForStencil("mxgraph.office.concepts","calendar","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clipboard;",40,52,"","Clipboard",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clipboard;",
+30,39,"","Clipboard (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clipboard small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clock;",45,45,"","Clock",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.clock;",
+35,35,"","Clock (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","clock small","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.column;",52,43,"","Column",null,null,this.getTagsForStencil("mxgraph.office.concepts","column","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.connector;",
+44,32,"","Connector",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.connector;",33,24,"","Connector (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","connector","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.contacts;",
+53,39,"","Contacts",null,null,this.getTagsForStencil("mxgraph.office.concepts","contacts","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.content_type;",53,40,"","Content Type",null,null,this.getTagsForStencil("mxgraph.office.concepts","content type","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.credit_card;",
+55,36,"","Credit Card",null,null,this.getTagsForStencil("mxgraph.office.concepts","credit card","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document;",40,47,"","Document",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document;",
+30,35,"","Document (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.documents;",46,54,"","Documents",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.documents_shared;",
+58,59,"","Documents Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","documents shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_blank;",40,47,"","Document Blank",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_blank;",30,35,"","Document Blank (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","document blank","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.document_shared;",
+52,53,"","Document Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","document shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.download;",48,56,"","Download",null,null,this.getTagsForStencil("mxgraph.office.concepts","download","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email;",
+47,36,"","Email",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email;",31,24,"","Email (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","email","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_approved;",
+56,46,"","Email Approved",null,null,this.getTagsForStencil("mxgraph.office.concepts","email approved","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_expired;",56,46,"","Email Expired",null,null,this.getTagsForStencil("mxgraph.office.concepts","email expired","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.email_rejected;",
+55,45,"","Email Rejected",null,null,this.getTagsForStencil("mxgraph.office.concepts","email rejected","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.file_key;",48,53,"","File Key",null,null,this.getTagsForStencil("mxgraph.office.concepts","file key","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;",
+47,43,"","Firewall",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#2072B8;",47,43,"","Firewall (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#DA4026;",
+47,43,"","Firewall (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#7FBA42;",47,43,"","Firewall (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.firewall;fillColor=#CCCBCB;",
+47,43,"","Firewall (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","firewall","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;",50,45,"","Folder",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#2072B8;",
+50,45,"","Folder (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#DA4026;",50,45,"","Folder (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#7FBA42;",
+50,45,"","Folder (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;fillColor=#CCCBCB;",50,45,"","Folder (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder;",
+33,30,"","Folder (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folders;",57,53,"","Folders",null,null,this.getTagsForStencil("mxgraph.office.concepts","folders","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_open;",
+56,43,"","Folder, Open",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder open","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_public;",58,52,"","Folder, Public",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder public","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.folder_shared;",
+54,52,"","Folder, Shared",null,null,this.getTagsForStencil("mxgraph.office.concepts","folder shared","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.form;",56,49,"","Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.get_started;",
+42,52,"","Get Started",null,null,this.getTagsForStencil("mxgraph.office.concepts","get started","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.globe_internet;",49,49,"","Globe, Internet",null,null,this.getTagsForStencil("mxgraph.office.concepts","globe internet","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.help;",
+49,49,"","Help",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.help;",38,38,"","Help (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","help","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;",
+51,50,"","Home",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#2072B8;",51,50,"","Home (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#DA4026;",
+51,50,"","Home (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#7FBA42;",51,50,"","Home (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;fillColor=#CCCBCB;",
+51,50,"","Home (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home;",39,38,"","Home (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;",
+53,43,"","Home Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#2072B8;",53,43,"","Home Page (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#DA4026;",
+53,43,"","Home Page (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#7FBA42;",53,43,"","Home Page (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.home_page;fillColor=#CCCBCB;",
+53,43,"","Home Page (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","home page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.hybrid;",58,52,"","Hybrid",null,null,this.getTagsForStencil("mxgraph.office.concepts","hybrid","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.input_output_filter;",
+46,46,"","Input Output Filter",null,null,this.getTagsForStencil("mxgraph.office.concepts","input output filter","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.install;",45,52,"","Install",null,null,this.getTagsForStencil("mxgraph.office.concepts","install","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.integration;",
+44,43,"","Integration",null,null,this.getTagsForStencil("mxgraph.office.concepts","integration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.lab;",47,50,"","Lab",null,null,this.getTagsForStencil("mxgraph.office.concepts","lab","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.learn;",
+56,57,"","Learn",null,null,this.getTagsForStencil("mxgraph.office.concepts","learn","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.license;",45,52,"","License",null,null,this.getTagsForStencil("mxgraph.office.concepts","license","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.link;",
+61,21,"","Link",null,null,this.getTagsForStencil("mxgraph.office.concepts","link","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.list_library;",52,48,"","List Library",null,null,this.getTagsForStencil("mxgraph.office.concepts","list library","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox;",
+53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox2;",
+53,49,"","Mailbox",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.mailbox2;",40,38,"","Mailbox (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","mailbox2","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.maintenance;",
+39,56,"","Maintenance",null,null,this.getTagsForStencil("mxgraph.office.concepts","maintenance","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.marketplace_shopping_bag;",36,46,"","Marketplace, Shopping Bag",null,null,this.getTagsForStencil("mxgraph.office.concepts","marketplace shopping bag","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.meets_requirements;",56,53,"","Meets Requirements",null,null,this.getTagsForStencil("mxgraph.office.concepts","meets requirements","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.migration;",
+59,34,"","Migration",null,null,this.getTagsForStencil("mxgraph.office.concepts","migration","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.moes;",40,47,"","MOEs",null,null,this.getTagsForStencil("mxgraph.office.concepts","moes","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.navigation;",
+53,40,"","Navigation",null,null,this.getTagsForStencil("mxgraph.office.concepts","navigation","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;",46,52,"","Node, Generic",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#2072B8;",
+46,52,"","Node, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#DA4026;",46,52,"","Node, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#7FBA42;",46,52,"","Node, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.node_generic;fillColor=#CCCBCB;",
+46,52,"","Node, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.concepts","node generic","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.office_installed;",58,48,"","Office Installed",null,null,this.getTagsForStencil("mxgraph.office.concepts","office installed","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.on_premises;",34,55,"","On Premises",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.on_premises_directory;",
+50,59,"","On Premises Directory",null,null,this.getTagsForStencil("mxgraph.office.concepts","on premises directory","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.phishing;",59,47,"","Phishing",null,null,this.getTagsForStencil("mxgraph.office.concepts","phishing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.pin;",
+24,44,"","Pin",null,null,this.getTagsForStencil("mxgraph.office.concepts","pin","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.platform_options;",58,52,"","Platform Options",null,null,this.getTagsForStencil("mxgraph.office.concepts","platform options","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.powershell;",
+45,45,"","PowerShell",null,null,this.getTagsForStencil("mxgraph.office.concepts","powershell","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.properties;",50,49,"","Properties",null,null,this.getTagsForStencil("mxgraph.office.concepts","properties","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.publish;",
+57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.concepts","publish","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.remote_access;",59,41,"","Remote Access",null,null,this.getTagsForStencil("mxgraph.office.concepts","remote access","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.script;",
+53,49,"","Script",null,null,this.getTagsForStencil("mxgraph.office.concepts","script","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.search;",49,49,"","Search",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.search;",
+35,35,"","Search (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","search","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.service_application;",59,48,"","Service Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","service application","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings;",48,48,"","Settings",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings_office_365;",
+48,48,"","Settings, Office 365",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.settings_office_365;",31,31,"","Settings, Office 365 (small)",null,null,this.getTagsForStencil("mxgraph.office.concepts","settings office 365",
+"office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.sign_up;",51,47,"","Sign Up",null,null,this.getTagsForStencil("mxgraph.office.concepts","sign up","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.sound_file;",
+40,50,"","Sound File",null,null,this.getTagsForStencil("mxgraph.office.concepts","sound file","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.tasks;",40,52,"","Tasks",null,null,this.getTagsForStencil("mxgraph.office.concepts","tasks","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.technical_diagram;",
+50,56,"","Technical Diagram",null,null,this.getTagsForStencil("mxgraph.office.concepts","technical diagram","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_application;",58,42,"","Upgrade Application",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade application","office concept ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_server;",39,52,"","Upgrade Server",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade server","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upgrade_site;",
+59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.concepts","upgrade site","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.upload;",48,55,"","Upload",null,null,this.getTagsForStencil("mxgraph.office.concepts","upload","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.video_form;",
+58,49,"","Video Form",null,null,this.getTagsForStencil("mxgraph.office.concepts","video form","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.video_play;",50,40,"","Video Play",null,null,this.getTagsForStencil("mxgraph.office.concepts","video play","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.voicemail;",
+53,34,"","Voicemail",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.voicemail_preview;",57,52,"","Voicemail Preview",null,null,this.getTagsForStencil("mxgraph.office.concepts","voicemail preview","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.walkthrough;",
+41,58,"","Walkthrough",null,null,this.getTagsForStencil("mxgraph.office.concepts","walkthrough","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.website;",59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.concepts","website","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_conferencing;",
+60,56,"","Web Conferencing",null,null,this.getTagsForStencil("mxgraph.office.concepts","web conferencing","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_page;",50,54,"","Web Page",null,null,this.getTagsForStencil("mxgraph.office.concepts","web page","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_part;",
+45,52,"","Web Part",null,null,this.getTagsForStencil("mxgraph.office.concepts","web part","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.concepts","web services","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.whats_new;",
+55,38,"","Whats New",null,null,this.getTagsForStencil("mxgraph.office.concepts","whats new","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.writing_pen;",54,54,"","Writing, Pen",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pen","office concept ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.writing_pencil;",
+50,50,"","Writing, Pencil",null,null,this.getTagsForStencil("mxgraph.office.concepts","writing pencil","office concept ").join(" "))];this.addPalette("officeConcepts","Office / Concepts",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDatabasesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.address_book_store;",
+50,54,"","Address Book Store",null,null,this.getTagsForStencil("mxgraph.office.databases","address_book_store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.application_store;",49,53,"","Application Store",null,null,this.getTagsForStencil("mxgraph.office.databases","application store","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;",35,49,"","Database",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#2072B8;",
+35,49,"","Database (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#DA4026;",35,49,"","Database (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#7FBA42;",
+35,49,"","Database (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;fillColor=#CCCBCB;",35,49,"","Database (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database;",
+28,38,"","Database (small)",null,null,this.getTagsForStencil("mxgraph.office.databases","","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_availability_group;",59,59,"","Database Availability Group",null,null,this.getTagsForStencil("mxgraph.office.databases","availability group","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;",47,52,"","Database Cube",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#2072B8;",
+47,52,"","Database Cube (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#DA4026;",47,52,"","Database Cube (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#7FBA42;",47,52,"","Database Cube (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_cube;fillColor=#CCCBCB;",
+47,52,"","Database Cube (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","cube","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;",35,27,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#2072B8;",35,27,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#DA4026;",
+35,27,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#7FBA42;",35,27,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_1;fillColor=#CCCBCB;",35,27,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;",
+35,42,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#2072B8;",35,42,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#DA4026;",
+35,42,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#7FBA42;",35,42,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_2;fillColor=#CCCBCB;",35,42,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;",
+35,57,"","Database, Mini",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#2072B8;",35,57,"","Database, Mini (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#DA4026;",
+35,57,"","Database, Mini (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#7FBA42;",35,57,"","Database, Mini (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mini_3;fillColor=#CCCBCB;",35,57,"","Database, Mini (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","Mini","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mirror;",
+60,59,"","Database Mirror",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_mirror_witness_node;",60,59,"","Database Mirror Witness Node",null,null,this.getTagsForStencil("mxgraph.office.databases","mirror witness node",
+"office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_2;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_3;",
+57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_4;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_partition_5;",57,59,"","Database Partition",null,null,this.getTagsForStencil("mxgraph.office.databases","partition","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_public_folder;",
+53,54,"","Database Public Folder",null,null,this.getTagsForStencil("mxgraph.office.databases","public folder","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server;",43,57,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.databases","server","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_blue;",43,57,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_orange;",
+43,57,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_green;",43,57,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.database_server_ghosted;",43,57,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.databases","server blue","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.mailbox_database;",
+53,55,"","Mailbox Database",null,null,this.getTagsForStencil("mxgraph.office.databases","mailbox","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.monitoring_store;",58,58,"","Monitoring Store",null,null,this.getTagsForStencil("mxgraph.office.databases","monitoring store","office database db ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.unified_contact_store;",54,55,"","Unified Contact Store",null,null,this.getTagsForStencil("mxgraph.office.databases","unified contact store","office database db ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.web_store;",
+50,54,"","Web Store",null,null,this.getTagsForStencil("mxgraph.office.databases","web store","office database db ").join(" "))];this.addPalette("officeDatabases","Office / Databases",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeDevicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.bluetooth;",
+56,57,"","Bluetooth",null,null,this.getTagsForStencil("mxgraph.office.devices","bluetooth","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cd_dvd;",49,49,"","CD, DVD",null,null,this.getTagsForStencil("mxgraph.office.devices","cd dvd compact disc digital video drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_android_proportional;",
+17,31,"","Cell Phone, Android, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone android proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_android_standalone;",24,44,"","Cell Phone, Android, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone android standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_generic;",26,47,"","Cell Phone, Generic",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_generic;",
+21,37,"","Cell Phone, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone generic small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_iphone_proportional;",17,29,"","Cell Phone, iPhone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone iphone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_iphone_standalone;",25,42,"","Cell Phone, iPhone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone iphone standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_windows_phone_proportional;",
+16,29,"","Cell Phone, Windows Phone, Proportional",null,null,this.getTagsForStencil("mxgraph.office.devices","cell phone windows phone proportional","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.cell_phone_windows_phone_standalone;",24,42,"","Cell Phone, Windows Phone, Standalone",null,null,this.getTagsForStencil("mxgraph.office.devices",
+"cell phone windows standalone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.data_jack;",47,47,"","Data Jack",null,null,this.getTagsForStencil("mxgraph.office.devices","data jack","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.device_update_service;",
+50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.devices","device update service","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.fax;",57,47,"","Fax",null,null,this.getTagsForStencil("mxgraph.office.devices","fax","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.hard_disk;",
+40,54,"","Hard Disk",null,null,this.getTagsForStencil("mxgraph.office.devices","hard disk hdd drive","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.headset;",36,48,"","Headset",null,null,this.getTagsForStencil("mxgraph.office.devices","headset","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ipad_mini;",
+33,47,"","iPad, Mini",null,null,this.getTagsForStencil("mxgraph.office.devices","ipad mini","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ip_gateway;",59,40,"","IP Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","ip gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.ip_pbx;",
+59,39,"","IP PBX",null,null,this.getTagsForStencil("mxgraph.office.devices","ip pbx","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.laptop;",58,34,"","Laptop",null,null,this.getTagsForStencil("mxgraph.office.devices","laptop","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.lcd_monitor;",
+58,48,"","LCD Monitor",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.lcd_monitor;",39,32,"","LCD Monitor (small)",null,null,this.getTagsForStencil("mxgraph.office.devices","lcd monitor small","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.load_balancer;",
+59,39,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.office.devices","load balancer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.mac_client;",58,48,"","Mac Client",null,null,this.getTagsForStencil("mxgraph.office.devices","mac client","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.management_console;",
+58,48,"","Management Console",null,null,this.getTagsForStencil("mxgraph.office.devices","management console","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.microphone;",53,37,"","Microphone",null,null,this.getTagsForStencil("mxgraph.office.devices","microphone","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.modem;",
+54,34,"","Modem",null,null,this.getTagsForStencil("mxgraph.office.devices","modem","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.nic;",57,38,"","NIC",null,null,this.getTagsForStencil("mxgraph.office.devices","nic","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_digital;",
+49,42,"","Phone, Digital",null,null,this.getTagsForStencil("mxgraph.office.devices","phone digital","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_traditional;",48,40,"","Phone, Traditional",null,null,this.getTagsForStencil("mxgraph.office.devices","phone traditional","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_usb;",58,51,"","Phone, USB",null,null,this.getTagsForStencil("mxgraph.office.devices","phone usb","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.phone_voip;",
+57,51,"","Phone, VoIP",null,null,this.getTagsForStencil("mxgraph.office.devices","phone voip voice over internet protocol","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.printer;",56,47,"","Printer",null,null,this.getTagsForStencil("mxgraph.office.devices","printer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.roundtable;",
+50,58,"","Roundtable",null,null,this.getTagsForStencil("mxgraph.office.devices","roundtable","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.router;",55,56,"","Router",null,null,this.getTagsForStencil("mxgraph.office.devices","router","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.session_border_controller;",
+59,52,"","Session Border Controller",null,null,this.getTagsForStencil("mxgraph.office.devices","session border controller","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.shadowed_router;",59,59,"","Shadowed Router",null,null,this.getTagsForStencil("mxgraph.office.devices","shadowed router","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.stylus;",57,57,"","Stylus",null,null,this.getTagsForStencil("mxgraph.office.devices","stylus","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.switch;",
+55,18,"","Switch",null,null,this.getTagsForStencil("mxgraph.office.devices","switch","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_android;",56,37,"","Tablet, Android",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet android","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_ipad;",
+39,52,"","Tablet, iPad",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet ipad","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_windows_7inch;",34,47,"","Tablet, Windows, 7inch",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows seven inch","office device ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tablet_windows_8;",56,35,"","Tablet, Windows 8",null,null,this.getTagsForStencil("mxgraph.office.devices","tablet windows eight","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.tv;",
+59,45,"","TV",null,null,this.getTagsForStencil("mxgraph.office.devices","tv television","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.video_camera;",52,25,"","Video Camera",null,null,this.getTagsForStencil("mxgraph.office.devices","video camera","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.video_gateway;",
+59,41,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.office.devices","video gateway","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.webcam;",40,50,"","Webcam",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.webcam_hd;",
+56,59,"","Webcam, HD",null,null,this.getTagsForStencil("mxgraph.office.devices","webcam hd high definition","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation;",53,56,"","Workstation",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation_pc;",
+53,59,"","Workstation, PC",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation pc personal computer","office device ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.workstation_visual_studio;",53,59,"","Workstation, Visual Studio",null,null,this.getTagsForStencil("mxgraph.office.devices","workstation visual studio",
+"office device ").join(" "))];this.addPalette("officeDevices","Office / Devices",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSecurityPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.active_directory;",53,46,"","Active Directory",null,
+null,this.getTagsForStencil("mxgraph.office.security","active directory","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.address_book_policies;",55,53,"","Address Book Policies",null,null,this.getTagsForStencil("mxgraph.office.security","address book policies","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.certificate;",
+58,50,"","Certificate",null,null,this.getTagsForStencil("mxgraph.office.security","certificate","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.certificate;",39,33,"","Certificate (small)",null,null,this.getTagsForStencil("mxgraph.office.security","certificate small","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.security","credentials","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.domain;",
+53,46,"","Domain",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.domain;",41,36,"","Domain (small)",null,null,this.getTagsForStencil("mxgraph.office.security","domain","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.email_address_policy;",
+55,53,"","Email Address Policy",null,null,this.getTagsForStencil("mxgraph.office.security","email address policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.federation_service;",58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.security","federation service","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.federation_trust;",58,59,"","Federation Trust",null,null,this.getTagsForStencil("mxgraph.office.security","federation trust","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.irm_protected_message;",
+56,50,"","IRM-Protected Message",null,null,this.getTagsForStencil("mxgraph.office.security","irm protected message","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;",25,53,"","Key, Permissions",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#2072B8;",25,53,"","Key, Permissions (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#DA4026;",
+25,53,"","Key, Permissions (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#7FBA42;",25,53,"","Key, Permissions (green)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;fillColor=#CCCBCB;",25,53,"","Key, Permissions (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.key_permissions;",
+19,40,"","Key, Permissions (small)",null,null,this.getTagsForStencil("mxgraph.office.security","key permissions small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;",38,52,"","Lock, Protected",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#2072B8;",38,52,"","Lock, Protected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#DA4026;",
+38,52,"","Lock, Protected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#7FBA42;",38,52,"","Lock, Protected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;fillColor=#CCCBCB;",38,52,"","Lock, Protected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;",
+28,37,"","Lock, Protected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock protected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;",38,55,"","Lock, Unprotected",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#2072B8;",38,55,"","Lock, Unprotected (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#DA4026;",
+38,55,"","Lock, Unprotected (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#7FBA42;",38,55,"","Lock, Unprotected (green)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;fillColor=#CCCBCB;",38,55,"","Lock, Unprotected (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_unprotected;",
+28,40,"","Lock, Unprotected (small)",null,null,this.getTagsForStencil("mxgraph.office.security","lock unprotected small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security;",47,58,"","Lock With Key, Security",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_blue;",47,58,"","Lock With Key, Security (blue)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_orange;",
+47,58,"","Lock With Key, Security (orange)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_green;",47,58,"","Lock With Key, Security (green)",null,null,this.getTagsForStencil("mxgraph.office.security",
+"lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_with_key_security_ghosted;",47,58,"","Lock With Key, Security (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.security","lock with key security","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.management_role;",
+45,45,"","Management Role",null,null,this.getTagsForStencil("mxgraph.office.security","management role","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.policy;",53,49,"","Policy",null,null,this.getTagsForStencil("mxgraph.office.security","policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.policy;",
+39,36,"","Policy (small)",null,null,this.getTagsForStencil("mxgraph.office.security","policy small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.protected_voice_mail;",59,51,"","Protected Voice Mail",null,null,this.getTagsForStencil("mxgraph.office.security","protected voice mail","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.retention_policy;",54,55,"","Retention Policy",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.retention_policy_tag;",
+56,58,"","Retention Policy Tag",null,null,this.getTagsForStencil("mxgraph.office.security","retention policy tag","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.role_assignment_policy;",55,54,"","Role Assignment Policy",null,null,this.getTagsForStencil("mxgraph.office.security","role assignment policy",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.security","role group","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.secure_messaging;",
+55,46,"","Secure Messaging",null,null,this.getTagsForStencil("mxgraph.office.security","secure messaging","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.security_access_portal;",64,55,"","Security Access Portal",null,null,this.getTagsForStencil("mxgraph.office.security","security access portal","office security ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.sharing_policy;",56,53,"","Sharing Policy",null,null,this.getTagsForStencil("mxgraph.office.security","sharing policy","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.split_domain_user;",
+59,55,"","Split-Domain User",null,null,this.getTagsForStencil("mxgraph.office.security","split domain user","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token;",41,52,"","Token",null,null,this.getTagsForStencil("mxgraph.office.security","token","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token;",
+29,37,"","Token (small)",null,null,this.getTagsForStencil("mxgraph.office.security","token small","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.token_service;",60,56,"","Token Service",null,null,this.getTagsForStencil("mxgraph.office.security","token service","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.trusted_application_server;",
+46,57,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.security","trusted application server","office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.um_mailbox_policy;",55,53,"","UM Mailbox Policy",null,null,this.getTagsForStencil("mxgraph.office.security","um mailbox policy",
+"office security ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.security","universal security group","office security ").join(" "))];this.addPalette("officeSecurity","Office / Security",!1,mxUtils.bind(this,
+function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.3rd_party_mail_server;",47,59,"","3rd Party Mail Server",null,null,this.getTagsForStencil("mxgraph.office.servers","3rd party mail server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_proxy;",44,55,"","Active Directory Federation Services Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services proxy","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server;",
+45,56,"","Active Directory Federation Services Server",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_blue;",45,56,"","Active Directory Federation Services Server (blue)",
+null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_orange;",45,56,"","Active Directory Federation Services Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_green;",45,56,"","Active Directory Federation Services Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.active_directory_federation_services_server_ghosted;",45,56,"","Active Directory Federation Services Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","active directory federation services server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server;",
+46,56,"","Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_blue;",46,56,"","Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_orange;",46,56,"","Application Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_green;",
+46,56,"","Application Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.application_server_ghosted;",46,56,"","Application Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","application server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.call_admission_control_service;",50,60,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.servers","call admission control service","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.certificate_authority;",
+46,59,"","Certificate Authority",null,null,this.getTagsForStencil("mxgraph.office.servers","certificate authority","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.cluster_server;",49,59,"","Cluster Server",null,null,this.getTagsForStencil("mxgraph.office.servers","cluster_server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server;",43,56,"","Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_blue;",
+43,56,"","Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_orange;",43,56,"","Database Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_green;",43,56,"","Database Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.database_server_ghosted;",
+43,56,"","Database Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","database_server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.datacenter;",53,53,"","Datacenter",null,null,this.getTagsForStencil("mxgraph.office.servers","datacenter","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.dirsync_server;",
+47,56,"","DirSync Server",null,null,this.getTagsForStencil("mxgraph.office.servers","dirsync server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.domain_controller;",45,55,"","Domain Controller",null,null,this.getTagsForStencil("mxgraph.office.servers","domain controller","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.excahnge_client_access_server_role;",52,59,"","Exchange Client Access Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","excahnge client access server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_edge_transport_server_role;",
+52,55,"","Exchange Edge Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_hub_transport_server_role;",52,59,"","Exchange Hub Transport Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"exchange hub transport server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_mailbox_server_role;",52,59,"","Exchange Mailbox Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_um_server_role;",
+52,59,"","Exchange UM Server Role",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange um server role","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_client_access_server;",57,59,"","Exchange Client Access Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange client access server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_edge_transport_server;",57,55,"","Exchange Edge Transport Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange edge transport server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_mailbox_server;",
+57,59,"","Exchange Mailbox Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange mailbox server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.exchange_server;",57,55,"","Exchange Server",null,null,this.getTagsForStencil("mxgraph.office.servers","exchange server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.file_server;",45,56,"","File Server",null,null,this.getTagsForStencil("mxgraph.office.servers","file server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.hybrid_server;",
+59,52,"","Hybrid Server",null,null,this.getTagsForStencil("mxgraph.office.servers","hybrid server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.mainframe;",58,42,"","Mainframe",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.mainframe_host;",
+44,42,"","Mainframe Host",null,null,this.getTagsForStencil("mxgraph.office.servers","mainframe host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.monitoring_sql_reporting_services;",50,59,"","Monitoring SQL Reporting Services",null,null,this.getTagsForStencil("mxgraph.office.servers","monitoring sql reporting services",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.network;",34,57,"","Network",null,null,this.getTagsForStencil("mxgraph.office.servers","network","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.office_web_apps_server;",
+52,56,"","Office Web Apps Server",null,null,this.getTagsForStencil("mxgraph.office.servers","office web apps server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.on_premises_server;",44,58,"","On Premises Server",null,null,this.getTagsForStencil("mxgraph.office.servers","on premises server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.physical_host;fillColor=#2072B8;",27,52,"","Physical Host",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.physical_host_farm;fillColor=#2072B8;",
+56,49,"","Physical Host Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","physical host farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.reverse_proxy;",41,53,"","Reverse Proxy",null,null,this.getTagsForStencil("mxgraph.office.servers","reverse proxy","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.scom;",56,53,"","SCOM",null,null,this.getTagsForStencil("mxgraph.office.servers","scom","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_disaster;",
+46,57,"","Server Disaster",null,null,this.getTagsForStencil("mxgraph.office.servers","server disaster","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;",56,49,"","Server Farm",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#2072B8;",
+56,49,"","Server Farm (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#DA4026;",56,49,"","Server Farm (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#7FBA42;",56,49,"","Server Farm (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_farm;fillColor=#CCCBCB;",
+56,49,"","Server Farm (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server_farm","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;",27,52,"","Server, Generic",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#2072B8;",27,52,"","Server, Generic (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#DA4026;",
+27,52,"","Server, Generic (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#7FBA42;",27,52,"","Server, Generic (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;fillColor=#CCCBCB;",27,52,"","Server, Generic (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_generic;",
+20,39,"","Server, Generic (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","server generic small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.server_side_code;",49,56,"","Server Side Code",null,null,this.getTagsForStencil("mxgraph.office.servers","server side code","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.sharepoint_server;",56,55,"","Sharepoint Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sharepoint server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_back_end_server;",
+54,60,"","Skype for Business Back End Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business back end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_back_end_server_mirror;",54,60,"","Skype for Business Back End Server Mirror",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business back end server mirror","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_director;",54,55,"","Skype for Business Director",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_director_array;",
+70,60,"","Skype for Business Director Array",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business director array","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_edge_server;",54,55,"","Skype for Business Edge Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business edge server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_edge_server_pool;",70,60,"","Skype for Business Edge Server Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business edge server pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_front_end_pool;",
+70,60,"","Skype for Business Front End Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business front end pool","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_front_end_server;",54,60,"","Skype for Business Front End Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business front end server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_mediation_server;",54,60,"","Skype for Business Mediation Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business mediation server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_monitoring_server;",
+54,60,"","Skype for Business Monitoring Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business monitoring server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_persistent_chat_server;",54,58,"","Skype for Business Persistent Chat Server",null,null,this.getTagsForStencil("mxgraph.office.servers",
+"skype for business persistent chat server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.skype_for_business_server;",54,55,"","Skype for Business Server",null,null,this.getTagsForStencil("mxgraph.office.servers","skype for business server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.sql_server;",
+43,56,"","SQL Server",null,null,this.getTagsForStencil("mxgraph.office.servers","sql server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.survivable_branch_appliance;",37,59,"","Survivable Branch Appliance",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch appliance","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.survivable_branch_server;",42,58,"","Survivable Branch Server",null,null,this.getTagsForStencil("mxgraph.office.servers","survivable branch server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.topology_builder;",
+59,59,"","Topology Builder",null,null,this.getTagsForStencil("mxgraph.office.servers","topology builder","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.trusted_application_pool;",59,59,"","Trusted Application Pool",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application pool",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.trusted_application_server;",43,52,"","Trusted Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","trusted application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.tunnel_angled;",
+55,35,"","Tunnel Angled",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel angled","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.tunnel_straight;",59,10,"","Tunnel Straight",null,null,this.getTagsForStencil("mxgraph.office.servers","tunnel straight","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.universal_security_group;",
+58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.servers","universal security group","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.video_interop_server;",54,60,"","Video Interop Server",null,null,this.getTagsForStencil("mxgraph.office.servers","video interop server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_application_server;",48,55,"","Virtual Application Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_application_server;fillColor=#2072B8;",
+48,55,"","Virtual Application Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual application server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_database_server;",41,56,"","Virtual Database Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server",
+"office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_database_server;fillColor=#2072B8;",41,56,"","Virtual Database Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual database server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;",
+28,52,"","Virtual Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;fillColor=#2072B8;",28,52,"","Virtual Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_server;",20,37,"","Virtual Server (small)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual server small","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_web_server;",
+44,55,"","Virtual Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.virtual_web_server;fillColor=#2072B8;",44,55,"","Virtual Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","virtual web server","office server ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.vociemail_preview_partner;",46,56,"","Vociemail Preview Partner",null,null,this.getTagsForStencil("mxgraph.office.servers","vociemail preview partner","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server;",
+48,57,"","Web Server",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_blue;",48,57,"","Web Server (blue)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_orange;",
+48,57,"","Web Server (orange)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_green;",48,57,"","Web Server (green)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.web_server_ghosted;",
+48,57,"","Web Server (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.servers","web server","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.windows_router;",52,59,"","Windows Router",null,null,this.getTagsForStencil("mxgraph.office.servers","windows router","office server ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.windows_server;",
+52,55,"","Windows Server",null,null,this.getTagsForStencil("mxgraph.office.servers","windows server","office server ").join(" "))];this.addPalette("officeServers","Office / Servers",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeServicesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.3rd_party_service;",
+53,54,"","3rd Party Service",null,null,this.getTagsForStencil("mxgraph.office.services","3rd party service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.services","access services","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.business_connectivity_services;",34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.services","business connectivity services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.call_admission_control_service;",
+50,59,"","Call Admission Control Service",null,null,this.getTagsForStencil("mxgraph.office.services","call admission control service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.central_management_service;",51,54,"","Central Management Service",null,null,this.getTagsForStencil("mxgraph.office.services",
+"central management service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.conference_announcement_service;",59,59,"","Conference Announcement Service",null,null,this.getTagsForStencil("mxgraph.office.services","conference announcement service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.device_update_service;",
+50,54,"","Device Update Service",null,null,this.getTagsForStencil("mxgraph.office.services","device update service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.email_service;",58,48,"","Email Service",null,null,this.getTagsForStencil("mxgraph.office.services","email service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.services","excel services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.federation_service;",
+58,59,"","Federation Service",null,null,this.getTagsForStencil("mxgraph.office.services","federation service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.lync_storage_service;",65,58,"","Lync Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","lync storage service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.lync_web_app_client;",83,51,"","Lync Web App Client",null,null,this.getTagsForStencil("mxgraph.office.services","lync web app client","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.mobility_service;",
+45,53,"","Mobility Service",null,null,this.getTagsForStencil("mxgraph.office.services","mobility service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.network_file_share_service;",55,53,"","Network File Share Service",null,null,this.getTagsForStencil("mxgraph.office.services","network file share service",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.online_hosted_services;",56,52,"","Online Hosted Services",null,null,this.getTagsForStencil("mxgraph.office.services","online hosted services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.outlook_web_app;",
+83,51,"","Outlook Web App",null,null,this.getTagsForStencil("mxgraph.office.services","outlook web app","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","powerpoint automation services",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.push_notification_service;",50,58,"","Push Notification Service",null,null,this.getTagsForStencil("mxgraph.office.services","push notification service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.registrar_service;",
+56,52,"","Registrar Service",null,null,this.getTagsForStencil("mxgraph.office.services","registrar service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.response_group_service;",58,54,"","Response Group Service",null,null,this.getTagsForStencil("mxgraph.office.services","response group service",
+"office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.skype_for_business_storage_service;",62,58,"","Skype for Business Storage Service",null,null,this.getTagsForStencil("mxgraph.office.services","skype for business storage service","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.user_services;",
+59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.services","user services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.verification_service;",57,59,"","Verification Service",null,null,this.getTagsForStencil("mxgraph.office.services","verification service","office service ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.web_services;",60,56,"","Web Services",null,null,this.getTagsForStencil("mxgraph.office.services","web services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.word_automation_services;",
+60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.services","word automation services","office service ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.xmpp_service;",58,52,"","XMPP Service",null,null,this.getTagsForStencil("mxgraph.office.services","xmpp service","office service ").join(" "))];
+this.addPalette("officeServices","Office / Services",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeSitesPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.access_services;",59,49,"","Access Services",null,null,this.getTagsForStencil("mxgraph.office.sites",
+"access services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.blog_site;",56,49,"","Blog Site",null,null,this.getTagsForStencil("mxgraph.office.sites","blog site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.business_connectivity_services;",
+34,51,"","Business Connectivity Services",null,null,this.getTagsForStencil("mxgraph.office.sites","business connectivity services","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.excel_services;",60,49,"","Excel Services",null,null,this.getTagsForStencil("mxgraph.office.sites","excel services","office site ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.meeting_workspace_site;",58,50,"","Meeting Workspace Site",null,null,this.getTagsForStencil("mxgraph.office.sites","meeting workspace site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.my_site;",
+58,49,"","My Site",null,null,this.getTagsForStencil("mxgraph.office.sites","my site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.powerpoint_automation_services;",59,49,"","PowerPoint Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","powerpoint automation services","office site ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.publish;",57,48,"","Publish",null,null,this.getTagsForStencil("mxgraph.office.sites","publish","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_collection;",
+52,40,"","Site Collection",null,null,this.getTagsForStencil("mxgraph.office.sites","site collection","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_shared;",56,50,"","Site Shared",null,null,this.getTagsForStencil("mxgraph.office.sites","site shared","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.site_team;",
+60,49,"","Site, Team",null,null,this.getTagsForStencil("mxgraph.office.sites","site team","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;",53,40,"","Subsite",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#2072B8;",
+53,40,"","Subsite (blue)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#DA4026;",53,40,"","Subsite (orange)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#7FBA42;",
+53,40,"","Subsite (green)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;fillColor=#CCCBCB;",53,40,"","Subsite (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.subsite;",
+38,29,"","Subsite (small)",null,null,this.getTagsForStencil("mxgraph.office.sites","substitute small","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.upgrade_site;",59,48,"","Upgrade Site",null,null,this.getTagsForStencil("mxgraph.office.sites","upgrade site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.website;",
+59,49,"","Website",null,null,this.getTagsForStencil("mxgraph.office.sites","website","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.website_public;",58,48,"","Website, Public",null,null,this.getTagsForStencil("mxgraph.office.sites","website public","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.wiki_site;",
+59,50,"","Wiki Site",null,null,this.getTagsForStencil("mxgraph.office.sites","wiki_site","office site ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.word_automation_services;",60,49,"","Word Automation Services",null,null,this.getTagsForStencil("mxgraph.office.sites","word automation services","office site ").join(" "))];
+this.addPalette("officeSites","Office / Sites",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addOfficeUsersPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.administrator;",58,56,"","Administrator",null,null,this.getTagsForStencil("mxgraph.office.users",
+"administrator","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.approver;",59,55,"","Approver",null,null,this.getTagsForStencil("mxgraph.office.users","approver","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.call_center_agent;",
+46,55,"","Call Center Agent",null,null,this.getTagsForStencil("mxgraph.office.users","call center agent","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.communications;",54,58,"","Communications",null,null,this.getTagsForStencil("mxgraph.office.users","communications","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.conferencing_attendant;",
+53,59,"","Conferencing Attendant",null,null,this.getTagsForStencil("mxgraph.office.users","conferencing attendant","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.credentials;",56,58,"","Credentials",null,null,this.getTagsForStencil("mxgraph.office.users","credentials","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.csv_file;",
+59,43,"","CSV File",null,null,this.getTagsForStencil("mxgraph.office.users","csv comma separated value file","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.distribution_group;",58,59,"","Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","distribution group","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.dynamic_distribution_group;",58,59,"","Dynamic Distribution Group",null,null,this.getTagsForStencil("mxgraph.office.users","dynamic distribution group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.mail_user;",
+58,59,"","Mail User",null,null,this.getTagsForStencil("mxgraph.office.users","mail user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.meeting;",59,38,"","Meeting",null,null,this.getTagsForStencil("mxgraph.office.users","meeting","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.mobile_user;",
+59,56,"","Mobile User",null,null,this.getTagsForStencil("mxgraph.office.users","mobile user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.online_user;",54,43,"","Online User",null,null,this.getTagsForStencil("mxgraph.office.users","online user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.on_premises_user;",
+49,59,"","On-Premises User",null,null,this.getTagsForStencil("mxgraph.office.users","on premises user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.outlook_user;",63,55,"","Outlook User",null,null,this.getTagsForStencil("mxgraph.office.users","outlook user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.response_group;",
+58,54,"","Response Group",null,null,this.getTagsForStencil("mxgraph.office.users","response group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.role_group;",59,56,"","Role Group",null,null,this.getTagsForStencil("mxgraph.office.users","role group","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.skype_commercial_user;",
+59,56,"","Skype Commercial User",null,null,this.getTagsForStencil("mxgraph.office.users","skype commercial user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.skype_for_business_user;",59,56,"","Skype for Business User",null,null,this.getTagsForStencil("mxgraph.office.users","skype for business user","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.tenant_admin;",56,58,"","Tenant Admin",null,null,this.getTagsForStencil("mxgraph.office.users","tenant admin","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.um_enabled_user;",
+58,59,"","UM-Enabled User",null,null,this.getTagsForStencil("mxgraph.office.users","um enabled user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.universal_security_group;",58,58,"","Universal Security Group",null,null,this.getTagsForStencil("mxgraph.office.users","universal security group","office user ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;",46,50,"","User",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#2072B8;",
+46,50,"","User (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#DA4026;",46,50,"","User (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#7FBA42;",
+46,50,"","User (green)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;fillColor=#CCCBCB;",46,50,"","User (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","user","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user;",
+32,35,"","User (small)",null,null,this.getTagsForStencil("mxgraph.office.users","user small","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;",46,50,"","Users",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#2072B8;",
+46,50,"","Users (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#DA4026;",46,50,"","Users (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#7FBA42;",
+46,50,"","Users (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users;fillColor=#CCCBCB;",46,50,"","Users (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;",
+57,43,"","Users, Two",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#2072B8;",57,43,"","Users, Two (blue)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#DA4026;",
+57,43,"","Users, Two (orange)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#7FBA42;",57,43,"","Users, Two (green)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.users_two;fillColor=#CCCBCB;",
+57,43,"","Users, Two (ghosted)",null,null,this.getTagsForStencil("mxgraph.office.users","users two","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_accounts;",59,59,"","User Accounts",null,null,this.getTagsForStencil("mxgraph.office.users","user accounts","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_external;",
+59,50,"","User External",null,null,this.getTagsForStencil("mxgraph.office.users","user external","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_services;",59,59,"","User Services",null,null,this.getTagsForStencil("mxgraph.office.users","user services","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.user_store;",
+50,55,"","User Store",null,null,this.getTagsForStencil("mxgraph.office.users","user store","office user ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.writer;",54,59,"","Writer",null,null,this.getTagsForStencil("mxgraph.office.users","writer","office user ").join(" "))];this.addPalette("officeUsers","Office / Users",
+!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addPidInstrumentsPalette=function(){var a="html=1;align=center;dashed=0;"+mxConstants.STYLE_SHAPE+"=mxgraph.pid2";this.addPaletteFunctions("pidInstruments","Proc. Eng. / Instruments",!1,[this.createVertexTemplateEntry(a+"inst.discInst;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
 "discInst","pid process instrumentation engineering instrument engineering discrete control room").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting=field",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (field)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete field").join(" ")),
 this.createVertexTemplateEntry(a+"inst.discInst;mounting=inaccessible",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Discrete Instrument (inaccessible)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete inaccessible").join(" ")),this.createVertexTemplateEntry(a+"inst.discInst;mounting=local",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',
 "Discrete Instrument (local panel)",null,null,this.getTagsForStencil("mxgraph.pid2inst","discInst","pid process instrumentation engineering instrument engineering discrete local panel").join(" ")),this.createVertexTemplateEntry(a+"inst.sharedCont;mounting=room",50,50,'<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;"><tr><td>TI</td></tr><tr><td>##</td></table> ',"Shared Control/Display in DCS (control room)",null,null,this.getTagsForStencil("mxgraph.pid2inst",
@@ -6501,139 +6561,143 @@ this.addDataEntry("sysml stereotype note",320,150,"Stereotype Note","rZRNj9owEIZ
 this.createVertexTemplateEntry("shape=rect;html=1;whiteSpace=wrap;align=center;",160,80,"&lt;&lt;stereotypeName&gt;&gt;\n{PropertyName=ValueString;\nBooleanPropertyName}\nNodeName","Stereotype (Node)",null,null,this.getTagsForStencil("","","sysml stereotype node").join(" ")),this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;",400,100,'<p style="margin:0px;margin-top:4px;text-align:center;"><b>NodeName</b><hr/></p><p style="margin:0px;margin-left:10px;text-align:left;">&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString}ElementName<br/>&lt;&lt;stereotypeName&gt;&gt;{PropertyName=ValueString};<br/>BooleanPropertyName<br/>ElementName</p>',
 "Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" ")),this.addDataEntry("sysml stereotype edge",200,180,"Stereotype (Edge)","3VTBboMwDP2a3CmZ2vOgXU+bKlXaPQM3iRYSZEwp+/oFCO2ytVJ32WEHJD8/G/OeQxjPq9MWRa2eXQmG8Q3jOTpHU1SdcjCGpYkuGV+zNE38w9KnG+xiZJNaIFi6pyGdGo7CtDBlNgaqoTldspQvEsazF1HBVNZQb0JZo0Q9hAiFH5QdnKV9YBceK6pMCDulCfa1KAau80p9ThgtrYeFnwToE+EzAAlON6WMqaBjC64Cwt6XdLokFSqC3ESBliq0LUNONBOW59aLMT4I3lz3if8Dn/pvHv2Fbw8/fPOGiWrQZmjU8xU1XiRQ72CyMlAyKpzR7DpbZTt0tXekH7v4+nUYtifUVsalmXMGhI3KV+udIHV1dWDLR0TXeWSdhXhbUEqYFxlYI97AZKJ4l+haW+bOOLyw8yoNHK4dhBHrjxEm50UPU6I1N67FAqIzSQIlUPQ733EYEIwgfYzf/otNe3i5pUYuusQ+AQ=="),
 this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;",300,120,'<p style="margin:0px;margin-top:4px;text-align:center;"><b>&lt;&lt;stereotypeName&gt;&gt;</br>NodeName</b><hr/></p><p style="margin:0px;margin-left:10px;text-align:left;">&lt;&lt;stereotypeName&gt;&gt;<br/>PropertyName=ValueString<br/>MultiPropertyName=ValueString, ValueString<br/>BooleanPropertyName<br/></p>',"Stereotype (Compartment)",null,null,this.getTagsForStencil("","","sysml stereotype compartment").join(" "))];
-this.addPalette("sysmlStereotypes","SysML / Stereotypes",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addVeeamPalette=function(){this.addVeeam2DPalette();this.addVeeam3DPalette()};Sidebar.prototype.addVeeam2DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm;",70,70,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_error;",70,78,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_running;",
-70,78,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1frvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_unavailable;",70,78,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_warning;",70,78,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.1_click_failover_orchestration;",
-44,44,"","1 Click Failover Orchestration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one click failover orchestration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm;",70,70,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_error;",70,78,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_running;",
-70,78,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_unavailable;",70,78,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_warning;",70,78,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.agent;",
-38,38,"","Agent",null,null,this.getTagsForStencil("mxgraph.veeam.2d","agent","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.alarm;",62,46,"","Alarm",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alarm","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.alert;",
-30,30,"","Alert",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alert","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.assisted_failover_and_failback;",46,46,"","Assisted Failover and Failback",null,null,this.getTagsForStencil("mxgraph.veeam.2d","assisted failover and failback","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_browser;",46,46,"","Backup Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_from_storage_snapshots;",
-46,46,"","Backup from Storage Snapshots",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup from storage snapshots","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository;",52,48,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository_2;",58,50,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.built_in_wan_acceleration;",
-46,46,"","Built-in WAN Acceleration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","built in wan acceleration wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cd;",46,46,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cd compact disc","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cloud;",66,46,"","Cloud",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.cloud_gateway;",
-46,46,"","Cloud Gateway",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud gateway","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.database;",58,50,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.2d","database db","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore;",44,44,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_snapshot;",
-46,12,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_volume;",46,12,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore volume","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.data_mover;",38,38,"","Data Mover",null,null,this.getTagsForStencil("mxgraph.veeam.2d","data mover","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.disaster_recovery;",
-46,46,"","Disaster Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","disaster recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.download;",46,46,"","Download",null,null,this.getTagsForStencil("mxgraph.veeam.2d","download","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.emc_data_domain_boost;",46,46,"","EMC Data Domain Boost",null,null,this.getTagsForStencil("mxgraph.veeam.2d","emc data domain boost","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.encryption_object;",
-46,46,"","Encryption Object",null,null,this.getTagsForStencil("mxgraph.veeam.2d","encryption object","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.end_to_end_encryption;",46,46,"","End to end Encryption",null,null,this.getTagsForStencil("mxgraph.veeam.2d","end to end encryption","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.esx_esxi;",30,46,"","ESX/ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.2d","esx esxi","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.exagrid;",
-46,46,"","ExaGrid",null,null,this.getTagsForStencil("mxgraph.veeam.2d","exagrid","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot;",46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_locked;",54,50,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_running;",
-56,50,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.file;",34,46,"","File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.file_system_browser;",46,46,"","File System Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file system browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.folder;",
-48,46,"","Folder",null,null,this.getTagsForStencil("mxgraph.veeam.2d","folder","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;fillColor=#999A98;",34,24,"","Forward Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;",34,24,"","Forward Incremental Backup - Increment (blue)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.free_datastore;",46,46,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","free datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_datastore;",
-46,46,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#999A98;",26,42,"","Full Veeam Backup (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#24B14B;",26,42,"","Full Veeam Backup (green)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#EF8F21;",
-26,42,"","Full Veeam Backup (orange)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#FBB715;",26,42,"","Full Veeam Backup (yellow)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.group;",40,46,"","Group",null,null,this.getTagsForStencil("mxgraph.veeam.2d","group","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hard_drive;",
-38,46,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hard drive","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hp_storeonce;",46,46,"","HP StoreOnce",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hp storeonce","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_host;",124,120,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_vmware_host;",
-124,120,"","VMware/Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.letter;",46,36,"","Letter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","letter","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.license;",46,46,"","License",null,null,this.getTagsForStencil("mxgraph.veeam.2d","license","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.lost_space;",
-46,46,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lost space","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.lun;",58,22,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lun","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.medium_datastore;",
-46,46,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","medium datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.monitoring_console;",46,46,"","Monitoring Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","monitoring console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.native_tape_support;",46,46,"","Native Tape Support",null,null,this.getTagsForStencil("mxgraph.veeam.2d","native tape support","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.network_card;",
-46,32,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.2d","network card","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.on_demand_sandbox;",46,46,"","On Demand Sandbox",null,null,this.getTagsForStencil("mxgraph.veeam.2d","on demand sandbox","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.physical_storage;",76,26,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","physical storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.powershell_extension;",
-46,46,"","PowerShell Extension",null,null,this.getTagsForStencil("mxgraph.veeam.2d","powershell extension","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.private_key;",56,52,"","Private Key",null,null,this.getTagsForStencil("mxgraph.veeam.2d","private key","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.privilege;",50,48,"","Privilege",null,null,this.getTagsForStencil("mxgraph.veeam.2d","privilege","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.proxy;",
-46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy appliance","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.quick_migration;",46,46,"","Quick Migration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","quick migration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.remote_site;",
-42,44,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote site","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.remote_storage;",46,46,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote storage","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.replication_from_a_backup;",46,46,"","Replication from a Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","replication from a backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.report;",
-34,46,"","Report",null,null,this.getTagsForStencil("mxgraph.veeam.2d","report","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.resource_pool;",46,46,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.2d","resource pool","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.restful_apis;",46,46,"","RESTful APIs",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restful apis api","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.restore_data_from_the_vm_backup;",
-46,46,"","Restore Data from the VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restore data from the vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#999A98;",34,24,"","Reversed Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#6E5CA7;",34,24,"","Reversed Incremental Backup - Increment (purple)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.role;",34,46,"","Role",null,null,this.getTagsForStencil("mxgraph.veeam.2d","role","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.scheduled_backups;",
-46,46,"","Scheduled Backups",null,null,this.getTagsForStencil("mxgraph.veeam.2d","Scheduled Backups","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.search;",46,46,"","Search",null,null,this.getTagsForStencil("mxgraph.veeam.2d","search","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.self_service_recovery;",46,46,"","Self-Service Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","self service recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service;",
-46,46,"","Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service_console;",46,46,"","Service Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.service_vnic;",60,54,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.sure_backup;",
-46,46,"","SureBackup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.sure_replica;",46,46,"","SureReplica",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure replica","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.switch;",74,12,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape;",
-60,32,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_checked;",70,42,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape checked","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_device;",52,52,"","Tape Device",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape device","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_ejecting;",
-70,42,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape ejecting","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_library;",40,46,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape library","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_licensed;",68,38,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape licensed","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_recording;",
-70,42,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape recording","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.tape_server;",74,72,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape server","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.transport_service;",38,38,"","Transport Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","transport service","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.user;",
-26,46,"","User",null,null,this.getTagsForStencil("mxgraph.veeam.2d","user","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.u_air;",46,46,"","U-AIR",null,null,this.getTagsForStencil("mxgraph.veeam.2d","air","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vapp;",
-48,48,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vapp_started;",60,54,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp started","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeamzip;",46,46,"","VeeamZIP",null,null,this.getTagsForStencil("mxgraph.veeam.2d","veeamzip zip","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_availability_suite;",
-46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.2d","availability suite","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_and_replication_server;",74,72,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"backup and replication server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_enterprise_manager_server;",74,72,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup enterprise manager server","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_search_server;",74,72,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup search server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_shell;",
-46,46,"","Veeam Backup Shell",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup shell","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_cloud_connect;",46,46,"","Veeam Cloud Connect",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud connect","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer;",46,46,"","Veeam Explorer",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_active_directory;",
-46,46,"","Veeam Explorer for Active Directory",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for active directory","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_exchange;",46,46,"","Veeam Explorer for Exchange",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
-"explorer for exchange","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sharepoint;",46,46,"","Veeam Explorer for SharePoint",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sharepoint","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sql;",
-46,46,"","Veeam Explorer for SQL",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sql","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_logo;fillColor=#232020;",144,38,"","Veeam Logo",null,null,this.getTagsForStencil("mxgraph.veeam.2d","logo","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one business view","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_monitor;",
-46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one monitor","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one reporter","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_lab;",
-46,46,"","Virtual Lab",null,null,this.getTagsForStencil("mxgraph.veeam.2d","virtual lab","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_machine;",46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.2d","","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_switch;",46,46,"","Virtual Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vmware_host;",
-124,120,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_backup;",50,46,"","VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_failed;",56,54,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm failed","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_full_backup;",
-38,52,"","VM Image Full Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image full backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_incremental_backup;",38,52,"","VM Image Incremental Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image incremental backup",
-"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_linux;",46,84,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm linux","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_locked;",
-56,52,"","VM Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_no_network;",54,52,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm no network","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_problem;",56,52,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm problem","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_running;",
-56,54,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_saved_state;",56,54,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm saved state","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vm_windows;",46,84,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm windows","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vnic;",
-46,46,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.vsb_file;",34,46,"",".vsb File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vsb file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.wan_accelerator;",
-46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.2d","wan accelerator wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.web_console;",46,46,"","Web Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web console","veeam 2d two dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.web_ui;",46,46,"","Web UI",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web ui user interface","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.workstation;",
-68,46,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.2d","workstation","veeam 2d two dimension vmware virtual machine ").join(" "))];this.addPalette("veeam2D","Veeam / 2D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addVeeam3DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm;",
-68,62,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_error;",68,62,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_running;",
-68,62,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_unavailable;",68,62,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_warning;",68,62,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm;",
-68,62,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_error;",68,62,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_running;",
-68,62,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_unavailable;",68,62,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_warning;",68,62,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository;",
-62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository_2;",62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.cd;",68,26,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.3d","cd","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.database;",58,62,"","Database",null,
-null,this.getTagsForStencil("mxgraph.veeam.3d","database","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore;",44,60,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_snapshot;",
-54,34,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_volume;",54,34,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore volume","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.esx_esxi;",38,52,"","ESX ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.3d","esx esxi","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot;",
-46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_locked;",56,46,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot locked",
-"veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_running;",58,46,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.free_datastore;",
-44,60,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","free datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.full_datastore;",44,60,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","full datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.hard_drive;fillColor=#637D8A;gradientColor=#324752;strokeColor=none;",
-62,28,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hard drive","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.hyper_v_host;",110,98,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hyper-v host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.lost_space;",
-44,60,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lost space","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.lun;",72,40,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lun","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.medium_datastore;",
-44,60,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","medium datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.network_card;",38,40,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.3d","network card","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.physical_storage;",
-108,60,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","physical_storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.proxy;",46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.proxy_appliance;",
-46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy appliance","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.remote_site;",46,60,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote site","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.remote_storage;",
-52,62,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.resource_pool;",56,32,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.3d","resource pool","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.service_vnic;",
-72,64,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","service vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.switch;",110,58,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.3d","switch","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape;",
-58,58,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_checked;",70,58,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape checked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_ejecting;",
-70,58,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape ejecting","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_library;",62,74,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape library","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_licensed;",
-70,58,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape licensed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_recording;",70,58,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape recording","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.tape_server;",
-46,46,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vapp;",92,62,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vapp_started;",
-92,62,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp started","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam availability suite","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_and_replication_server;",46,46,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup and replication server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server;",
-46,46,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup enterprise manager server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server_2d;",40,40,"","Veeam Backup Enterprise Manager Server 2D",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
-"veeam backup enterprise manager derver 2d two dimensional","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_search_server;",46,46,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup search server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_business_view;",
-46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one business view","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_monitor;",46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one monitor","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one reporter","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_server;",
-46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.virtual_machine;",46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.3d","virtual machine","veeam 3d three dimension vmware virtual machine ").join(" ")),
-this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vmware_host;",110,98,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vmware host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_failed;",
-56,46,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm failed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_linux;",46,60,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm linux","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_no_network;",
-58,46,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm no network","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_problem;",56,46,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm problem","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_running;",
-56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",
-46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",
-46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D",
-"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
+this.addPalette("sysmlStereotypes","SysML / Stereotypes",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addVeeamPalette=function(){this.addVeeam2DPalette();this.addVeeam3DPalette()};Sidebar.prototype.addVeeam2DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm;",70,70,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_error;",70,78,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_running;",
+70,78,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1frvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_unavailable;",70,78,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1ftvm_warning;",70,78,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","1ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.1_click_failover_orchestration;",
+44,44,"","1 Click Failover Orchestration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one click failover orchestration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm;",70,70,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_error;",70,78,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm error","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_running;",
+70,78,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_unavailable;",70,78,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm unavailable","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.2ftvm_warning;",70,78,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.2d","2ftvm warning","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.agent;",
+38,38,"","Agent",null,null,this.getTagsForStencil("mxgraph.veeam.2d","agent","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.alarm;",62,46,"","Alarm",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alarm","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.alert;",
+30,30,"","Alert",null,null,this.getTagsForStencil("mxgraph.veeam.2d","alert","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.assisted_failover_and_failback;",46,46,"","Assisted Failover and Failback",null,null,this.getTagsForStencil("mxgraph.veeam.2d","assisted failover and failback",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_browser;",46,46,"","Backup Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup browser","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_from_storage_snapshots;",
+46,46,"","Backup from Storage Snapshots",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup from storage snapshots","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository;",52,48,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.backup_repository_2;",58,50,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup repository","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.built_in_wan_acceleration;",
+46,46,"","Built-in WAN Acceleration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","built in wan acceleration wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cd;",46,46,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cd compact disc",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cloud;",66,46,"","Cloud",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.cloud_gateway;",
+46,46,"","Cloud Gateway",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud gateway","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.database;",58,50,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.2d","database db","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore;",44,44,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_snapshot;",
+46,12,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore snapshot","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.datastore_volume;",46,12,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.2d","datastore volume","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.data_mover;",38,38,"","Data Mover",null,null,this.getTagsForStencil("mxgraph.veeam.2d","data mover","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.disaster_recovery;",
+46,46,"","Disaster Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","disaster recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.download;",46,46,"","Download",null,null,this.getTagsForStencil("mxgraph.veeam.2d","download","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.emc_data_domain_boost;",46,46,"","EMC Data Domain Boost",null,null,this.getTagsForStencil("mxgraph.veeam.2d","emc data domain boost","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.encryption_object;",
+46,46,"","Encryption Object",null,null,this.getTagsForStencil("mxgraph.veeam.2d","encryption object","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.end_to_end_encryption;",46,46,"","End to end Encryption",null,null,this.getTagsForStencil("mxgraph.veeam.2d","end to end encryption",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.esx_esxi;",30,46,"","ESX/ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.2d","esx esxi","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.exagrid;",
+46,46,"","ExaGrid",null,null,this.getTagsForStencil("mxgraph.veeam.2d","exagrid","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot;",46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_locked;",54,50,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot locked","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.failover_protective_snapshot_running;",56,50,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","failover protective snapshot running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.file;",
+34,46,"","File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.file_system_browser;",46,46,"","File System Browser",null,null,this.getTagsForStencil("mxgraph.veeam.2d","file system browser","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.folder;",48,46,"","Folder",null,null,this.getTagsForStencil("mxgraph.veeam.2d","folder","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;fillColor=#999A98;",
+34,24,"","Forward Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.forward_incremental_backup_increment;",34,24,"","Forward Incremental Backup - Increment (blue)",
+null,null,this.getTagsForStencil("mxgraph.veeam.2d","forward incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.free_datastore;",46,46,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","free datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_datastore;",46,46,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#999A98;",
+26,42,"","Full Veeam Backup (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#24B14B;",26,42,"","Full Veeam Backup (green)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#EF8F21;",26,42,"","Full Veeam Backup (orange)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.full_veeam_backup;fillColor=#FBB715;",
+26,42,"","Full Veeam Backup (yellow)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","full veeam backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.group;",40,46,"","Group",null,null,this.getTagsForStencil("mxgraph.veeam.2d","group","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hard_drive;",38,46,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hard drive","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hp_storeonce;",
+46,46,"","HP StoreOnce",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hp storeonce","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_host;",124,120,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper host","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.hyper_v_vmware_host;",124,120,"","VMware/Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","hyper vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.letter;",
+46,36,"","Letter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","letter","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.license;",46,46,"","License",null,null,this.getTagsForStencil("mxgraph.veeam.2d","license","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.lost_space;",46,46,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lost space","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.lun;",
+58,22,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.2d","lun","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.medium_datastore;",46,46,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.2d","medium datastore","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.monitoring_console;",46,46,"","Monitoring Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","monitoring console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.native_tape_support;",
+46,46,"","Native Tape Support",null,null,this.getTagsForStencil("mxgraph.veeam.2d","native tape support","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.network_card;",46,32,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.2d","network card","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.on_demand_sandbox;",46,46,"","On Demand Sandbox",null,null,this.getTagsForStencil("mxgraph.veeam.2d","on demand sandbox","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.physical_storage;",
+76,26,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","physical storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.powershell_extension;",46,46,"","PowerShell Extension",null,null,this.getTagsForStencil("mxgraph.veeam.2d","powershell extension",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.private_key;",56,52,"","Private Key",null,null,this.getTagsForStencil("mxgraph.veeam.2d","private key","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.privilege;",
+50,48,"","Privilege",null,null,this.getTagsForStencil("mxgraph.veeam.2d","privilege","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.proxy;",46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.2d","proxy appliance","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.quick_migration;",
+46,46,"","Quick Migration",null,null,this.getTagsForStencil("mxgraph.veeam.2d","quick migration","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.remote_site;",42,44,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote site","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.remote_storage;",46,46,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.2d","remote storage","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.replication_from_a_backup;",
+46,46,"","Replication from a Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","replication from a backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.report;",34,46,"","Report",null,null,this.getTagsForStencil("mxgraph.veeam.2d","report","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.resource_pool;",46,46,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.2d","resource pool","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.restful_apis;",
+46,46,"","RESTful APIs",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restful apis api","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.restore_data_from_the_vm_backup;",46,46,"","Restore Data from the VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","restore data from the vm backup",
+"veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#999A98;",34,24,"","Reversed Incremental Backup - Increment (grey)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.reversed_incremental_backup_increment;fillColor=#6E5CA7;",34,24,"","Reversed Incremental Backup - Increment (purple)",null,null,this.getTagsForStencil("mxgraph.veeam.2d","reversed incremental backup increment","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.role;",
+34,46,"","Role",null,null,this.getTagsForStencil("mxgraph.veeam.2d","role","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.scheduled_backups;",46,46,"","Scheduled Backups",null,null,this.getTagsForStencil("mxgraph.veeam.2d","Scheduled Backups","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.search;",46,46,"","Search",null,null,this.getTagsForStencil("mxgraph.veeam.2d","search","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.self_service_recovery;",
+46,46,"","Self-Service Recovery",null,null,this.getTagsForStencil("mxgraph.veeam.2d","self service recovery","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service;",46,46,"","Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service_console;",46,46,"","Service Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.service_vnic;",
+60,54,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","service vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.sure_backup;",46,46,"","SureBackup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure backup","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.sure_replica;",46,46,"","SureReplica",null,null,this.getTagsForStencil("mxgraph.veeam.2d","sure replica","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.switch;",
+74,12,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape;",60,32,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_checked;",
+70,42,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape checked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_device;",52,52,"","Tape Device",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape device","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_ejecting;",70,42,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape ejecting","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_library;",
+40,46,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape library","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_licensed;",68,38,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape licensed","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_recording;",70,42,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape recording","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.tape_server;",
+74,72,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","tape server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.transport_service;",38,38,"","Transport Service",null,null,this.getTagsForStencil("mxgraph.veeam.2d","transport service","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.user;",26,46,"","User",null,null,this.getTagsForStencil("mxgraph.veeam.2d","user","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.u_air;",
+46,46,"","U-AIR",null,null,this.getTagsForStencil("mxgraph.veeam.2d","air","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vapp;",48,48,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vapp_started;",
+60,54,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vapp started","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeamzip;",46,46,"","VeeamZIP",null,null,this.getTagsForStencil("mxgraph.veeam.2d","veeamzip zip","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.2d","availability suite","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_and_replication_server;",
+74,72,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup and replication server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_enterprise_manager_server;",74,72,"","Veeam Backup Enterprise Manager Server",null,
+null,this.getTagsForStencil("mxgraph.veeam.2d","backup enterprise manager server","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_search_server;",74,72,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup search server","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_backup_shell;",46,46,"","Veeam Backup Shell",null,null,this.getTagsForStencil("mxgraph.veeam.2d","backup shell","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_cloud_connect;",
+46,46,"","Veeam Cloud Connect",null,null,this.getTagsForStencil("mxgraph.veeam.2d","cloud connect","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer;",46,46,"","Veeam Explorer",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_active_directory;",46,46,"","Veeam Explorer for Active Directory",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for active directory","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_exchange;",
+46,46,"","Veeam Explorer for Exchange",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for exchange","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sharepoint;",46,46,"","Veeam Explorer for SharePoint",null,null,this.getTagsForStencil("mxgraph.veeam.2d",
+"explorer for sharepoint","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_explorer_for_sql;",46,46,"","Veeam Explorer for SQL",null,null,this.getTagsForStencil("mxgraph.veeam.2d","explorer for sql","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_logo;fillColor=#232020;",
+144,38,"","Veeam Logo",null,null,this.getTagsForStencil("mxgraph.veeam.2d","logo","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one business view","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_monitor;",46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one monitor","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_reporter;",
+46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one reporter","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.2d","one server","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_lab;",46,46,"","Virtual Lab",null,null,this.getTagsForStencil("mxgraph.veeam.2d","virtual lab","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_machine;",
+46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.2d","","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.virtual_switch;",46,46,"","Virtual Switch",null,null,this.getTagsForStencil("mxgraph.veeam.2d","switch","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vmware_host;",124,120,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vmware host","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_backup;",
+50,46,"","VM Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_failed;",56,54,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm failed","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_full_backup;",38,52,"","VM Image Full Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image full backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_image_incremental_backup;",
+38,52,"","VM Image Incremental Backup",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm image incremental backup","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_linux;",46,84,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm linux","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_locked;",56,52,"","VM Locked",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm locked","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_no_network;",
+54,52,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm no network","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_problem;",56,52,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm problem","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_running;",56,54,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm running","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_saved_state;",
+56,54,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm saved state","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vm_windows;",46,84,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vm windows","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vnic;",46,46,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vnic","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.vsb_file;",
+34,46,"",".vsb File",null,null,this.getTagsForStencil("mxgraph.veeam.2d","vsb file","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.wan_accelerator;",46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.2d","wan accelerator wireless area network","veeam 2d two dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.web_console;",46,46,"","Web Console",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web console","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.web_ui;",
+46,46,"","Web UI",null,null,this.getTagsForStencil("mxgraph.veeam.2d","web ui user interface","veeam 2d two dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.workstation;",68,46,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.2d","workstation","veeam 2d two dimension vmware virtual machine ").join(" "))];
+this.addPalette("veeam2D","Veeam / 2D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))};Sidebar.prototype.addVeeam3DPalette=function(){var a=[this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm;",68,62,"","1FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_error;",68,62,"","1FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_running;",
+68,62,"","1FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_unavailable;",68,62,"","1FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.1ftvm_warning;",68,62,"","1FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","1ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm;",
+68,62,"","2FTVM",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_error;",68,62,"","2FTVM Error",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm error","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_running;",
+68,62,"","2FTVM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_unavailable;",68,62,"","2FTVM Unavailable",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm unavailable","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.2ftvm_warning;",68,62,"","2FTVM Warning",null,null,this.getTagsForStencil("mxgraph.veeam.3d","2ftvm warning","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository;",
+62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.backup_repository_2;",62,62,"","Backup Repository",null,null,this.getTagsForStencil("mxgraph.veeam.3d","backup repository","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.cd;",68,26,"","CD",null,null,this.getTagsForStencil("mxgraph.veeam.3d","cd","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.database;",
+58,62,"","Database",null,null,this.getTagsForStencil("mxgraph.veeam.3d","database","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore;",44,60,"","Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_snapshot;",
+54,34,"","Datastore Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.datastore_volume;",54,34,"","Datastore Volume",null,null,this.getTagsForStencil("mxgraph.veeam.3d","datastore volume","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.esx_esxi;",38,52,"","ESX ESXi",null,null,this.getTagsForStencil("mxgraph.veeam.3d","esx esxi","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot;",
+46,46,"","Failover Protective Snapshot",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_locked;",56,46,"","Failover Protective Snapshot Locked",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
+"failover protective snapshot locked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.failover_protective_snapshot_running;",58,46,"","Failover Protective Snapshot Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","failover protective snapshot running","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.free_datastore;",44,60,"","Free Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","free datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.full_datastore;",
+44,60,"","Full Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","full datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.hard_drive;fillColor=#637D8A;gradientColor=#324752;strokeColor=none;",62,28,"","Hard Drive",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hard drive","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.hyper_v_host;",110,98,"","Hyper-V Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","hyper-v host","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.lost_space;",
+44,60,"","Lost Space",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lost space","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.lun;",72,40,"","LUN",null,null,this.getTagsForStencil("mxgraph.veeam.3d","lun","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.medium_datastore;",
+44,60,"","Medium Datastore",null,null,this.getTagsForStencil("mxgraph.veeam.3d","medium datastore","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.network_card;",38,40,"","Network Card",null,null,this.getTagsForStencil("mxgraph.veeam.3d","network card","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.physical_storage;",108,60,"","Physical Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","physical_storage","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.proxy;",
+46,46,"","Proxy",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.proxy_appliance;",46,46,"","Proxy Appliance",null,null,this.getTagsForStencil("mxgraph.veeam.3d","proxy appliance","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.remote_site;",
+46,60,"","Remote Site",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote site","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.remote_storage;",52,62,"","Remote Storage",null,null,this.getTagsForStencil("mxgraph.veeam.3d","remote storage","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.resource_pool;",56,32,"","Resource Pool",null,null,this.getTagsForStencil("mxgraph.veeam.3d","resource pool","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.service_vnic;",
+72,64,"","Service vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","service vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.switch;",110,58,"","Switch",null,null,this.getTagsForStencil("mxgraph.veeam.3d","switch","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape;",
+58,58,"","Tape",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_checked;",70,58,"","Tape Checked",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape checked","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_ejecting;",
+70,58,"","Tape Ejecting",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape ejecting","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_library;",62,74,"","Tape Library",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape library","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_licensed;",70,58,"","Tape Licensed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape licensed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_recording;",
+70,58,"","Tape Recording",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape recording","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.tape_server;",46,46,"","Tape Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","tape server","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vapp;",92,62,"","vApp",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vapp_started;",
+92,62,"","vApp Started",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vapp started","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_availability_suite;",46,46,"","Veeam Availability Suite",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam availability suite","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_and_replication_server;",46,46,"","Veeam Backup and Replication Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup and replication server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server;",
+46,46,"","Veeam Backup Enterprise Manager Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup enterprise manager server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_enterprise_manager_server_2d;",40,40,"","Veeam Backup Enterprise Manager Server 2D",null,null,this.getTagsForStencil("mxgraph.veeam.3d",
+"veeam backup enterprise manager derver 2d two dimensional","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_backup_search_server;",46,46,"","Veeam Backup Search Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam backup search server","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_business_view;",46,46,"","Veeam ONE Business View",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one business view","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_monitor;",
+46,46,"","Veeam ONE Monitor",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one monitor","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_reporter;",46,46,"","Veeam ONE Reporter",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one reporter","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.veeam_one_server;",46,46,"","Veeam ONE Server",null,null,this.getTagsForStencil("mxgraph.veeam.3d","veeam one server","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.virtual_machine;",
+46,46,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.veeam.3d","virtual machine","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vmware_host;",110,98,"","VMware Host",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vmware host","veeam 3d three dimension vmware virtual machine ").join(" ")),
+this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_failed;",56,46,"","VM Failed",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm failed","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_linux;",
+46,60,"","VM Linux",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm linux","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_no_network;",58,46,"","VM No Network",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm no network","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_problem;",
+56,46,"","VM Problem",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm problem","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_running;",56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",
+58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",
+62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",
+76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D","Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
 102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons","adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),
 this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",
 null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
@@ -6770,275 +6834,275 @@ this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),t
 74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
 "yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos","yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob",
 76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})();
-DrawioFile=function(a,e){mxEventSource.call(this);this.ui=a;this.data=e||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
-DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,e,d,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,e,d){};DrawioFile.prototype.saveFile=function(a,e,d,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)};
-DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,e,d){};DrawioFile.prototype.isMovable=function(){return!1};
-DrawioFile.prototype.move=function(a,e,d){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data};
-DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,e){var d=null!=e?e.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=d&&d.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this||
+DrawioFile=function(a,d){mxEventSource.call(this);this.ui=a;this.data=d||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
+DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,d,e,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,d,e){};DrawioFile.prototype.saveFile=function(a,d,e,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)};
+DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,d,e){};DrawioFile.prototype.isMovable=function(){return!1};
+DrawioFile.prototype.move=function(a,d,e){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data};
+DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,d){var e=null!=d?d.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=e&&e.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this||
 this.isModified()||this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")))}),mxUtils.bind(this,function(a){this.ui.getCurrentFile()==this&&this.addUnsavedStatus(a)}))):this.addUnsavedStatus())});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener);this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener);this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener);this.ui.addListener("pageFormatChanged",this.changeListener);
 this.ui.addListener("pageScaleChanged",this.changeListener);this.ui.addListener("backgroundColorChanged",this.changeListener);this.ui.addListener("backgroundImageChanged",this.changeListener);this.ui.addListener("foldingEnabledChanged",this.changeListener);this.ui.addListener("mathEnabledChanged",this.changeListener);this.ui.addListener("gridEnabledChanged",this.changeListener);this.ui.addListener("guidesEnabledChanged",this.changeListener);this.ui.addListener("pageViewChanged",this.changeListener)};
 DrawioFile.prototype.addUnsavedStatus=function(a){a instanceof Error&&null!=a.message?this.ui.editor.setStatus('<div class="geStatusAlert" style="overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChanges"))+" ("+mxUtils.htmlEntities(a.message)+")</div>"):(this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+"</div>"),null!=this.ui.statusContainer&&(a=this.ui.statusContainer.getElementsByTagName("div"),
 0<a.length&&mxEvent.addListener(a[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))};
-DrawioFile.prototype.autosave=function(a,e,d,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<e?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=d&&d(a)}),
-mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=d&&d(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
-DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,e){if(null!=a&&null!=e){var d=a.lastIndexOf("."),c=0<d?a.substring(d):"",d=e.lastIndexOf(".");return c===(0<d?e.substring(d):"")}return a==e};
-DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,e,d,c){DrawioFile.call(this,a,e);this.title=d;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,e,d){this.saveAs(this.title,e,d)};LocalFile.prototype.saveAs=function(a,e,d){this.saveFile(a,!1,e,d)};
-LocalFile.prototype.saveFile=function(a,e,d,c){this.title=a;this.updateFileData();e=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),k=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,a,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var e=a.lastIndexOf("."),e=0<e?a.substring(e+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+e+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(a)+
-(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=d&&d()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){k(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):k(e)};LocalFile.prototype.rename=function(a,e,d){this.title=a;this.descriptorChanged();null!=e&&e()};
-LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,e){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,e,d){LocalFile.call(this,a,e,d)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,e,d){this.saveFile(a,!1,e,d)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,e,d){DrawioFile.call(this,a,e);this.title=d};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
-StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,e,d){this.saveAs(this.getTitle(),e,d)};StorageFile.prototype.saveAs=function(a,e,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,e,d)};
-StorageFile.prototype.saveFile=function(a,e,d,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=d&&d()}))}catch(k){null!=c&&c(k)}});this.isRenamable()&&"."==a.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(d){this.isRenamable()&&this.getTitle()!=a&&null!=d?this.ui.confirm(mxResources.get("replaceIt",
-[a]),g,c):g()}))}else null!=d&&d()};StorageFile.prototype.rename=function(a,e,d){var c=this.getTitle();c!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(g){var k=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(c,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,e)}),d)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[a]),k,d):k()})):e()};
-StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,e,d){StorageFile.call(this,a,e,d)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,e,d){this.saveFile(a,!1,e,d)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
-StorageLibrary.prototype.isRenamable=function(a,e,d){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,e,d){StorageFile.call(this,a,e,d);a=d;e=a.lastIndexOf("/");0<=e&&(a=a.substring(e+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,e,d){return!1};UrlLibrary.prototype.saveAs=function(a,e,d){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,e,d){function c(c,q,t,m,v,u){function y(){mxEvent.addListener(w,"click",null!=u?u:function(){t!=App.MODE_GOOGLE||a.isDriveDomain()?t==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(t,b.checked);e()})):(a.setMode(t,b.checked),e()):window.location.hostname=DriveClient.prototype.newAppHostname})}var w=document.createElement("a");w.style.overflow="hidden";w.style.display=
-mxClient.IS_QUIRKS?"inline":"inline-block";w.className="geBaseButton";w.style.boxSizing="border-box";w.style.fontSize="11px";w.style.position="relative";w.style.margin="4px";w.style.padding="8px 10px 12px 10px";w.style.width="88px";w.style.height="100px";w.style.whiteSpace="nowrap";w.setAttribute("title",q);mxClient.IS_QUIRKS&&(w.style.cssFloat="left",w.style.zoom="1");var x=document.createElement("div");x.style.textOverflow="ellipsis";x.style.overflow="hidden";if(null!=c){var g=document.createElement("img");
-g.setAttribute("src",c);g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";w.appendChild(g)}else x.style.paddingTop="5px",x.style.whiteSpace="normal",mxClient.IS_IOS?(w.style.padding="0px 10px 20px 10px",w.style.top="6px"):mxClient.IS_FF&&(x.style.paddingTop="0px",x.style.marginTop="-2px");w.appendChild(x);mxUtils.write(x,q);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(x),mxUtils.write(x,v[c]);if(null!=m&&null==a[m]){g.style.visibility=
-"hidden";mxUtils.setOpacity(x,10);var k=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});k.spin(w);var H=window.setTimeout(function(){null==a[m]&&(k.stop(),w.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[m]&&(window.clearTimeout(H),mxUtils.setOpacity(x,100),g.style.visibility="",k.stop(),y(),"drive"==m&&null!=h.parentNode&&h.parentNode.removeChild(h))}))}else y();
-p.appendChild(w);++f>=d&&(mxUtils.br(p),f=0)}d=null!=d?d:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var k=a.addLanguageMenu(g,!0);null!=k&&(k.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){k=document.createElement("a");k.setAttribute("href","https://about.draw.io/support/");k.setAttribute("title",mxResources.get("help"));k.setAttribute("target","_blank");k.style.position=
-"absolute";k.style.textDecoration="none";k.style.cursor="pointer";k.style.fontSize="12px";k.style.bottom="28px";k.style.left="26px";k.style.color="gray";var l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("valign","bottom");l.setAttribute("src",Editor.helpImage);l.style.marginRight="2px";k.appendChild(l);mxUtils.write(k,mxResources.get("help"));g.appendChild(k)}var n=document.createElement("div");n.style.position="absolute";n.style.cursor="pointer";n.style.fontSize="12px";
+DrawioFile.prototype.autosave=function(a,d,e,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<d?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),
+mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=e&&e(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
+DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,d){if(null!=a&&null!=d){var e=a.lastIndexOf("."),c=0<e?a.substring(e):"",e=d.lastIndexOf(".");return c===(0<e?d.substring(e):"")}return a==d};
+DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,d,e,c){DrawioFile.call(this,a,d);this.title=e;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,d,e){this.saveAs(this.title,d,e)};LocalFile.prototype.saveAs=function(a,d,e){this.saveFile(a,!1,d,e)};
+LocalFile.prototype.saveFile=function(a,d,e,c){this.title=a;this.updateFileData();d=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),k=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,a,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(a)+
+(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=e&&e()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){k(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):k(d)};LocalFile.prototype.rename=function(a,d,e){this.title=a;this.descriptorChanged();null!=d&&d()};
+LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,d){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,d,e){LocalFile.call(this,a,d,e)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,d,e){this.saveFile(a,!1,d,e)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,d,e){DrawioFile.call(this,a,d);this.title=e};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
+StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,d,e){this.saveAs(this.getTitle(),d,e)};StorageFile.prototype.saveAs=function(a,d,e){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,d,e)};
+StorageFile.prototype.saveFile=function(a,d,e,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=e&&e()}))}catch(k){null!=c&&c(k)}});this.isRenamable()&&"."==a.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(e){this.isRenamable()&&this.getTitle()!=a&&null!=e?this.ui.confirm(mxResources.get("replaceIt",
+[a]),g,c):g()}))}else null!=e&&e()};StorageFile.prototype.rename=function(a,d,e){var c=this.getTitle();c!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(g){var k=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(c,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,d)}),e)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[a]),k,e):k()})):d()};
+StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,d,e){StorageFile.call(this,a,d,e)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,d,e){this.saveFile(a,!1,d,e)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
+StorageLibrary.prototype.isRenamable=function(a,d,e){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,d,e){StorageFile.call(this,a,d,e);a=e;d=a.lastIndexOf("/");0<=d&&(a=a.substring(d+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,d,e){return!1};UrlLibrary.prototype.saveAs=function(a,d,e){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,d,e){function c(c,q,u,l,v,t){function w(){mxEvent.addListener(x,"click",null!=t?t:function(){u!=App.MODE_GOOGLE||a.isDriveDomain()?u==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(u,b.checked);d()})):(a.setMode(u,b.checked),d()):window.location.hostname=DriveClient.prototype.newAppHostname})}var x=document.createElement("a");x.style.overflow="hidden";x.style.display=
+mxClient.IS_QUIRKS?"inline":"inline-block";x.className="geBaseButton";x.style.boxSizing="border-box";x.style.fontSize="11px";x.style.position="relative";x.style.margin="4px";x.style.padding="8px 10px 12px 10px";x.style.width="88px";x.style.height="100px";x.style.whiteSpace="nowrap";x.setAttribute("title",q);mxClient.IS_QUIRKS&&(x.style.cssFloat="left",x.style.zoom="1");var g=document.createElement("div");g.style.textOverflow="ellipsis";g.style.overflow="hidden";if(null!=c){var B=document.createElement("img");
+B.setAttribute("src",c);B.setAttribute("border","0");B.setAttribute("align","absmiddle");B.style.width="60px";B.style.height="60px";B.style.paddingBottom="6px";x.appendChild(B)}else g.style.paddingTop="5px",g.style.whiteSpace="normal",mxClient.IS_IOS?(x.style.padding="0px 10px 20px 10px",x.style.top="6px"):mxClient.IS_FF&&(g.style.paddingTop="0px",g.style.marginTop="-2px");x.appendChild(g);mxUtils.write(g,q);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(g),mxUtils.write(g,v[c]);if(null!=l&&null==a[l]){B.style.visibility=
+"hidden";mxUtils.setOpacity(g,10);var k=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});k.spin(x);var G=window.setTimeout(function(){null==a[l]&&(k.stop(),x.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[l]&&(window.clearTimeout(G),mxUtils.setOpacity(g,100),B.style.visibility="",k.stop(),w(),"drive"==l&&null!=h.parentNode&&h.parentNode.removeChild(h))}))}else w();
+p.appendChild(x);++f>=e&&(mxUtils.br(p),f=0)}e=null!=e?e:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var k=a.addLanguageMenu(g,!0);null!=k&&(k.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){k=document.createElement("a");k.setAttribute("href","https://about.draw.io/support/");k.setAttribute("title",mxResources.get("help"));k.setAttribute("target","_blank");k.style.position=
+"absolute";k.style.textDecoration="none";k.style.cursor="pointer";k.style.fontSize="12px";k.style.bottom="28px";k.style.left="26px";k.style.color="gray";var m=document.createElement("img");m.setAttribute("border","0");m.setAttribute("valign","bottom");m.setAttribute("src",Editor.helpImage);m.style.marginRight="2px";k.appendChild(m);mxUtils.write(k,mxResources.get("help"));g.appendChild(k)}var n=document.createElement("div");n.style.position="absolute";n.style.cursor="pointer";n.style.fontSize="12px";
 n.style.bottom="28px";n.style.color="gray";mxUtils.write(n,mxResources.get("decideLater"));a.isOfflineApp()?n.style.right="20px":(mxUtils.setPrefixedStyle(n.style,"transform","translate(-50%,0)"),n.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)n.style.marginLeft=-Math.round(n.clientWidth/2)+"px"};g.appendChild(n);mxEvent.addListener(n,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null,
 !0);Editor.useLocalStorage=b});var p=document.createElement("div");mxClient.IS_QUIRKS&&(p.style.whiteSpace="nowrap",p.style.cssFloat="left");p.style.border="1px solid #d3d3d3";p.style.borderWidth="1px 0px 1px 0px";p.style.padding="12px 0px 12px 0px";var b=document.createElement("input");b.setAttribute("type","checkbox");b.setAttribute("checked","checked");b.defaultChecked=!0;var f=0,h=document.createElement("p"),k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.paddingTop=
 "4px";k.style.paddingBottom="16px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,mxResources.get("saveDiagramsTo")+":");g.appendChild(k);"function"===typeof window.DriveClient&&c(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&c(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||c(IMAGE_PATH+"/osa_drive-harddisk.png",
-mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(p);k=document.createElement("p");k.style.marginTop="12px";k.style.marginBottom="6px";k.appendChild(b);l=document.createElement("span");l.style.color="gray";l.style.fontSize="12px";mxUtils.write(l," "+mxResources.get("rememberThisSetting"));k.appendChild(l);mxUtils.br(k);var t=a.getRecent();if(null!=t&&
-0<t.length){var q=document.createElement("select");q.style.marginTop="8px";q.style.width="140px";var u=document.createElement("option");u.setAttribute("value","");u.setAttribute("selected","selected");u.style.textAlign="center";mxUtils.write(u,mxResources.get("openRecent")+"...");q.appendChild(u);for(u=0;u<t.length;u++)(function(b){var a=b.mode;a==App.MODE_GOOGLE?a="googleDrive":a==App.MODE_ONEDRIVE&&(a="oneDrive");var f=document.createElement("option");f.setAttribute("value",b.id);mxUtils.write(f,
-b.title+" ("+mxResources.get(a)+")");q.appendChild(f)})(t[u]);k.appendChild(q);mxEvent.addListener(q,"change",function(b){""!=q.value&&a.loadFile(q.value)})}else k.style.marginTop="20px",p.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(t=document.createElement("div"),t.style.cursor="pointer",t.style.padding="18px 0px 6px 0px",t.style.fontSize="12px",t.style.color="gray",mxUtils.write(t,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
-", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(t,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),k.appendChild(t),p.style.paddingBottom="4px");p.appendChild(k);mxEvent.addListener(l,"click",function(a){b.checked=!b.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
+mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(p);k=document.createElement("p");k.style.marginTop="12px";k.style.marginBottom="6px";k.appendChild(b);m=document.createElement("span");m.style.color="gray";m.style.fontSize="12px";mxUtils.write(m," "+mxResources.get("rememberThisSetting"));k.appendChild(m);mxUtils.br(k);var u=a.getRecent();if(null!=u&&
+0<u.length){var q=document.createElement("select");q.style.marginTop="8px";q.style.width="140px";var t=document.createElement("option");t.setAttribute("value","");t.setAttribute("selected","selected");t.style.textAlign="center";mxUtils.write(t,mxResources.get("openRecent")+"...");q.appendChild(t);for(t=0;t<u.length;t++)(function(b){var a=b.mode;a==App.MODE_GOOGLE?a="googleDrive":a==App.MODE_ONEDRIVE&&(a="oneDrive");var f=document.createElement("option");f.setAttribute("value",b.id);mxUtils.write(f,
+b.title+" ("+mxResources.get(a)+")");q.appendChild(f)})(u[t]);k.appendChild(q);mxEvent.addListener(q,"change",function(b){""!=q.value&&a.loadFile(q.value)})}else k.style.marginTop="20px",p.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(u=document.createElement("div"),u.style.cursor="pointer",u.style.padding="18px 0px 6px 0px",u.style.fontSize="12px",u.style.color="gray",mxUtils.write(u,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
+", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(u,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),k.appendChild(u),p.style.paddingBottom="4px");p.appendChild(k);mxEvent.addListener(m,"click",function(a){b.checked=!b.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
 document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==a.drive&&(h.style.padding="8px",h.style.fontSize="9pt",h.style.marginTop="-14px",h.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",g.appendChild(h))},5E3);this.container=
-g},SplashDialog=function(a){var e=document.createElement("div");e.style.textAlign="center";a.addLanguageMenu(e,!0);var d=null,d=a.getServiceCount();if(!a.isOffline()&&1<d){d=document.createElement("a");d.setAttribute("href","https://about.draw.io/support/");d.setAttribute("title",mxResources.get("help"));d.setAttribute("target","_blank");d.style.position="absolute";d.style.fontSize="12px";d.style.textDecoration="none";d.style.cursor="pointer";d.style.bottom="22px";d.style.left="26px";d.style.color=
-"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";d.appendChild(c);mxUtils.write(d,mxResources.get("help"));e.appendChild(d)}d=document.createElement("p");d.style.fontSize="16pt";d.style.padding="0px";d.style.paddingTop="2px";d.style.margin="0px";d.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px";
+g},SplashDialog=function(a){var d=document.createElement("div");d.style.textAlign="center";a.addLanguageMenu(d,!0);var e=null,e=a.getServiceCount();if(!a.isOffline()&&1<e){e=document.createElement("a");e.setAttribute("href","https://about.draw.io/support/");e.setAttribute("title",mxResources.get("help"));e.setAttribute("target","_blank");e.style.position="absolute";e.style.fontSize="12px";e.style.textDecoration="none";e.style.cursor="pointer";e.style.bottom="22px";e.style.left="26px";e.style.color=
+"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";e.appendChild(c);mxUtils.write(e,mxResources.get("help"));d.appendChild(e)}e=document.createElement("p");e.style.fontSize="16pt";e.style.padding="0px";e.style.paddingTop="2px";e.style.margin="0px";e.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px";
 c.style.height="40px";c.style.marginRight="12px";c.style.paddingBottom="4px";var g="";a.mode==App.MODE_GOOGLE?(c.src=IMAGE_PATH+"/google-drive-logo.svg",g=mxResources.get("googleDrive")):a.mode==App.MODE_DROPBOX?(c.src=IMAGE_PATH+"/dropbox-logo.svg",g=mxResources.get("dropbox")):a.mode==App.MODE_ONEDRIVE?(c.src=IMAGE_PATH+"/onedrive-logo.svg",g=mxResources.get("oneDrive")):a.mode==App.MODE_GITHUB?(c.src=IMAGE_PATH+"/github-logo.svg",g=mxResources.get("github")):a.mode==App.MODE_TRELLO?(c.src=IMAGE_PATH+
-"/trello-logo.svg",g=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",g=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g=mxResources.get("device"));var k=document.createElement("div");k.style.margin="4px 0px 0px 0px";var l=document.createElement("button");l.className="geBigButton";l.style.overflow="hidden";l.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(k.style.padding="42px 0px 56px 0px",l.style.marginBottom="12px"):
-(d.appendChild(c),mxUtils.write(d,g),e.appendChild(d),k.style.border="1px solid #d3d3d3",k.style.borderWidth="1px 0px 1px 0px",k.style.padding="18px 0px 24px 0px",l.style.marginBottom="8px");mxClient.IS_QUIRKS&&(k.style.whiteSpace="nowrap",k.style.cssFloat="left");mxClient.IS_QUIRKS&&(l.style.width="340px");mxUtils.write(l,mxResources.get("createNewDiagram"));mxEvent.addListener(l,"click",function(){a.hideDialog();a.actions.get("new").funct()});k.appendChild(l);mxUtils.br(k);l=document.createElement("button");
-l.className="geBigButton";l.style.marginBottom="22px";l.style.overflow="hidden";l.style.width="340px";mxClient.IS_QUIRKS&&(l.style.width="340px");mxUtils.write(l,mxResources.get("openExistingDiagram"));mxEvent.addListener(l,"click",function(){a.actions.get("open").funct()});k.appendChild(l);d="undefined";a.mode==App.MODE_GOOGLE?d=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?d=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?d=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?d=mxResources.get("github"):
-a.mode==App.MODE_TRELLO?d=mxResources.get("trello"):a.mode==App.MODE_DEVICE?d=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(d=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){l.style.marginBottom="24px";var d=document.createElement("a");d.setAttribute("href","javascript:void(0)");d.style.display="block";d.style.marginTop="6px";mxUtils.write(d,mxResources.get("signOut"));l.style.marginBottom="16px";k.style.paddingBottom="18px";mxEvent.addListener(d,"click",
-function(){a.confirm(mxResources.get("areYouSure"),function(){c()})});k.appendChild(d)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(l.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),l.style.marginBottom="16px",k.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){a.hideDialog();a.drive.clearUserId();
+"/trello-logo.svg",g=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",g=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g=mxResources.get("device"));var k=document.createElement("div");k.style.margin="4px 0px 0px 0px";var m=document.createElement("button");m.className="geBigButton";m.style.overflow="hidden";m.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(k.style.padding="42px 0px 56px 0px",m.style.marginBottom="12px"):
+(e.appendChild(c),mxUtils.write(e,g),d.appendChild(e),k.style.border="1px solid #d3d3d3",k.style.borderWidth="1px 0px 1px 0px",k.style.padding="18px 0px 24px 0px",m.style.marginBottom="8px");mxClient.IS_QUIRKS&&(k.style.whiteSpace="nowrap",k.style.cssFloat="left");mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("createNewDiagram"));mxEvent.addListener(m,"click",function(){a.hideDialog();a.actions.get("new").funct()});k.appendChild(m);mxUtils.br(k);m=document.createElement("button");
+m.className="geBigButton";m.style.marginBottom="22px";m.style.overflow="hidden";m.style.width="340px";mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("openExistingDiagram"));mxEvent.addListener(m,"click",function(){a.actions.get("open").funct()});k.appendChild(m);e="undefined";a.mode==App.MODE_GOOGLE?e=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?e=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?e=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?e=mxResources.get("github"):
+a.mode==App.MODE_TRELLO?e=mxResources.get("trello"):a.mode==App.MODE_DEVICE?e=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(e=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){m.style.marginBottom="24px";var e=document.createElement("a");e.setAttribute("href","javascript:void(0)");e.style.display="block";e.style.marginTop="6px";mxUtils.write(e,mxResources.get("signOut"));m.style.marginBottom="16px";k.style.paddingBottom="18px";mxEvent.addListener(e,"click",
+function(){a.confirm(mxResources.get("areYouSure"),function(){c()})});k.appendChild(e)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(m.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),m.style.marginBottom="16px",k.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){a.hideDialog();a.drive.clearUserId();
 a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(c){a.handleError(c,null,function(){a.hideDialog();a.showSplash()})}))}),k.appendChild(g)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?g(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?g(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}):
-a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&g(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&g(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[d])),mxEvent.addListener(g,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}),
-k.appendChild(g));e.appendChild(k);this.container=e},ConfirmDialog=function(a,e,d,c,g,k,l,n,p){var b=document.createElement("div");b.style.textAlign="center";var f=document.createElement("div");f.style.padding="6px";f.style.overflow="auto";f.style.maxHeight="44px";mxClient.IS_QUIRKS&&(f.style.height="60px");mxUtils.write(f,e);b.appendChild(f);f=document.createElement("div");f.style.textAlign="center";f.style.whiteSpace="nowrap";var h=document.createElement("input");h.setAttribute("type","checkbox");
-k=mxUtils.button(k||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(h.checked)});k.className="geBtn";null!=n&&(k.innerHTML=n+"<br>"+k.innerHTML,k.style.paddingBottom="8px",k.style.paddingTop="8px",k.style.height="auto",k.style.width="40%");a.editor.cancelFirst&&f.appendChild(k);g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=d&&d(h.checked)});f.appendChild(g);null!=l?(g.innerHTML=l+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px",
-g.style.height="auto",g.className="geBtn",g.style.width="40%"):g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||f.appendChild(k);b.appendChild(f);p?(f.style.marginTop="10px",f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(h),l=document.createElement("span"),mxUtils.write(l," "+mxResources.get("rememberThisSetting")),f.appendChild(l),b.appendChild(f),mxEvent.addListener(l,"click",function(b){h.checked=!h.checked;mxEvent.consume(b)})):f.style.marginTop="16px";this.container=
-b},ErrorDialog=function(a,e,d,c,g,k,l,n,p,b,f){p=null!=p?p:!0;var h=document.createElement("div");h.style.textAlign="center";if(null!=e){var t=document.createElement("div");t.style.padding="0px";t.style.margin="0px";t.style.fontSize="18px";t.style.paddingBottom="16px";t.style.marginBottom="16px";t.style.borderBottom="1px solid #c0c0c0";t.style.color="gray";mxUtils.write(t,e);h.appendChild(t)}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(){p&&a.hideDialog();null!=g&&g()});q.className="geBtn";d.appendChild(q);null!=l&&(c=mxUtils.button(l,function(){p&&a.hideDialog();null!=n&&n()}),c.className="geBtn gePrimaryBtn",
-d.appendChild(c));this.init=function(){q.focus()};h.appendChild(d);this.container=h},EmbedDialog=function(a,e,d,c,g){c=document.createElement("div");var k=/^https?:\/\//.test(e)||/^mailto:\/\//.test(e);mxUtils.write(c,mxResources.get(5E5>e.length?k?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var l=document.createElement("div");l.style.position="absolute";l.style.top="30px";l.style.right="30px";l.style.color="gray";mxUtils.write(l,a.formatFileSize(e.length));c.appendChild(l);var n=document.createElement("textarea");
-n.setAttribute("autocomplete","off");n.setAttribute("autocorrect","off");n.setAttribute("autocapitalize","off");n.setAttribute("spellcheck","false");n.style.marginTop="10px";n.style.resize="none";n.style.height="150px";n.style.width="440px";n.style.border="1px solid gray";n.value=mxResources.get("updatingDocument");c.appendChild(n);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>e.length?(n.value=e,n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
-n.select():document.execCommand("selectAll",!1,null)):(n.setAttribute("readonly","true"),n.value=e.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};l=document.createElement("div");l.style.position="absolute";l.style.bottom="36px";l.style.right="32px";var p=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!k||navigator.standalone||!(k||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(p=mxUtils.button(mxResources.get(5E5>e.length?"preview":"openInNewWindow"),
-function(){var b=5E5>e.length?n.value:e;if(null!=g)g(b);else if(k)try{var f=a.openLink(b);null!=f&&(null==d||0<d)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=b.substring(0,8)&&(f.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),d||500)}catch(u){a.handleError({message:u.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
-'</title><meta charset="utf-8"></head><body>'+e+"</body></html>");c.close()}}),p.className="geBtn",l.appendChild(p));if(!k||7500<e.length){var b=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",e,"text/plain")});b.className="geBtn";l.appendChild(b)}if(k&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>e.length){var f=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(n.value);a.openLink(b)}catch(t){a.handleError({message:t.message||
-mxResources.get("drawingTooLarge")})}}),b=document.createElement("img");b.setAttribute("src",Editor.facebookImage);b.setAttribute("width","18");b.setAttribute("height","18");b.setAttribute("border","0");f.appendChild(b);f.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");f.style.verticalAlign="bottom";f.style.paddingTop="4px";f.style.minWidth="46px";f.className="geBtn";l.appendChild(f)}7168>e.length&&(f=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+
-encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(n.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),b=document.createElement("img"),b.setAttribute("src",Editor.tweetImage),b.setAttribute("width","18"),b.setAttribute("height","18"),b.setAttribute("border","0"),b.style.marginBottom="5px",f.appendChild(b),f.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),f.style.verticalAlign=
-"bottom",f.style.paddingTop="4px",f.style.minWidth="46px",f.className="geBtn",l.appendChild(f))}b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});l.appendChild(b);f=mxUtils.button(mxResources.get("copy"),function(){n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>e.length?mxClient.IS_SF||null!=document.documentMode?
-b.className="geBtn gePrimaryBtn":(l.appendChild(f),f.className="geBtn gePrimaryBtn",b.className="geBtn"):(l.appendChild(p),b.className="geBtn",p.className="geBtn gePrimaryBtn");c.appendChild(l);this.container=c};EmbedDialog.showPreviewOption=!0;
-var GoogleSitesDialog=function(a,e){function d(){var a=null!=z.getTitle()?z.getTitle():this.defaultFilename;if(H.checked&&""!=t.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(t.value));null!=a&&(c+="&title="+encodeURIComponent(a));0<G.length&&(c+="&s="+G);""!=q.value&&"0"!=q.value&&(c+="&border="+q.value);""!=h.value&&(c+="&height="+h.value);c+="&pan="+(u.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+
-(m.checked?"1":"0");c+="&x0="+Number(f.value);c+="&y0="+p;g.mathEnabled&&(c+="&math=1");x.checked?c+="&edit=_blank":y.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));b.value=c}else z.constructor==DriveFile||z.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=t.value?c+=encodeURIComponent(mxUtils.htmlEntities(t.value))+"&type=3":(c+=z.getHash().substring(1),c=z.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=a&&(c+="&title="+
-encodeURIComponent(a)),""!=h.value&&(a=parseInt(h.value)+parseInt(f.value),c+="&height="+a),b.value=c):b.value=""}var c=document.createElement("div"),g=a.editor.graph,k=g.getGraphBounds(),l=g.view.scale,n=Math.floor(k.x/l-g.view.translate.x),p=Math.floor(k.y/l-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var b=document.createElement("input");b.setAttribute("type","text");b.style.marginBottom="8px";b.style.marginTop="2px";b.style.width="410px";c.appendChild(b);
+a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&g(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&g(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[e])),mxEvent.addListener(g,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}),
+k.appendChild(g));d.appendChild(k);this.container=d},ConfirmDialog=function(a,d,e,c,g,k,m,n,p){var b=document.createElement("div");b.style.textAlign="center";var f=document.createElement("div");f.style.padding="6px";f.style.overflow="auto";f.style.maxHeight="44px";mxClient.IS_QUIRKS&&(f.style.height="60px");mxUtils.write(f,d);b.appendChild(f);f=document.createElement("div");f.style.textAlign="center";f.style.whiteSpace="nowrap";var h=document.createElement("input");h.setAttribute("type","checkbox");
+k=mxUtils.button(k||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(h.checked)});k.className="geBtn";null!=n&&(k.innerHTML=n+"<br>"+k.innerHTML,k.style.paddingBottom="8px",k.style.paddingTop="8px",k.style.height="auto",k.style.width="40%");a.editor.cancelFirst&&f.appendChild(k);g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=e&&e(h.checked)});f.appendChild(g);null!=m?(g.innerHTML=m+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px",
+g.style.height="auto",g.className="geBtn",g.style.width="40%"):g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||f.appendChild(k);b.appendChild(f);p?(f.style.marginTop="10px",f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(h),m=document.createElement("span"),mxUtils.write(m," "+mxResources.get("rememberThisSetting")),f.appendChild(m),b.appendChild(f),mxEvent.addListener(m,"click",function(b){h.checked=!h.checked;mxEvent.consume(b)})):f.style.marginTop="16px";this.container=
+b},ErrorDialog=function(a,d,e,c,g,k,m,n,p,b,f){p=null!=p?p:!0;var h=document.createElement("div");h.style.textAlign="center";if(null!=d){var u=document.createElement("div");u.style.padding="0px";u.style.margin="0px";u.style.fontSize="18px";u.style.paddingBottom="16px";u.style.marginBottom="16px";u.style.borderBottom="1px solid #c0c0c0";u.style.color="gray";mxUtils.write(u,d);h.appendChild(u)}d=document.createElement("div");d.style.padding="6px";d.innerHTML=e;h.appendChild(d);e=document.createElement("div");
+e.style.marginTop="16px";e.style.textAlign="center";null!=k&&(d=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();k()}),d.className="geBtn",e.appendChild(d),e.style.textAlign="center");null!=b&&(b=mxUtils.button(b,function(){null!=f&&f()}),b.className="geBtn",e.appendChild(b));var q=mxUtils.button(c,function(){p&&a.hideDialog();null!=g&&g()});q.className="geBtn";e.appendChild(q);null!=m&&(c=mxUtils.button(m,function(){p&&a.hideDialog();null!=n&&n()}),c.className="geBtn gePrimaryBtn",
+e.appendChild(c));this.init=function(){q.focus()};h.appendChild(e);this.container=h},EmbedDialog=function(a,d,e,c,g){c=document.createElement("div");var k=/^https?:\/\//.test(d)||/^mailto:\/\//.test(d);mxUtils.write(c,mxResources.get(5E5>d.length?k?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var m=document.createElement("div");m.style.position="absolute";m.style.top="30px";m.style.right="30px";m.style.color="gray";mxUtils.write(m,a.formatFileSize(d.length));c.appendChild(m);var n=document.createElement("textarea");
+n.setAttribute("autocomplete","off");n.setAttribute("autocorrect","off");n.setAttribute("autocapitalize","off");n.setAttribute("spellcheck","false");n.style.marginTop="10px";n.style.resize="none";n.style.height="150px";n.style.width="440px";n.style.border="1px solid gray";n.value=mxResources.get("updatingDocument");c.appendChild(n);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>d.length?(n.value=d,n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
+n.select():document.execCommand("selectAll",!1,null)):(n.setAttribute("readonly","true"),n.value=d.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};m=document.createElement("div");m.style.position="absolute";m.style.bottom="36px";m.style.right="32px";var p=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!k||navigator.standalone||!(k||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(p=mxUtils.button(mxResources.get(5E5>d.length?"preview":"openInNewWindow"),
+function(){var b=5E5>d.length?n.value:d;if(null!=g)g(b);else if(k)try{var f=a.openLink(b);null!=f&&(null==e||0<e)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=b.substring(0,8)&&(f.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),e||500)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
+'</title><meta charset="utf-8"></head><body>'+d+"</body></html>");c.close()}}),p.className="geBtn",m.appendChild(p));if(!k||7500<d.length){var b=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",d,"text/plain")});b.className="geBtn";m.appendChild(b)}if(k&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>d.length){var f=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(n.value);a.openLink(b)}catch(u){a.handleError({message:u.message||
+mxResources.get("drawingTooLarge")})}}),b=document.createElement("img");b.setAttribute("src",Editor.facebookImage);b.setAttribute("width","18");b.setAttribute("height","18");b.setAttribute("border","0");f.appendChild(b);f.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");f.style.verticalAlign="bottom";f.style.paddingTop="4px";f.style.minWidth="46px";f.className="geBtn";m.appendChild(f)}7168>d.length&&(f=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+
+encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(n.value);a.openLink(b)}catch(u){a.handleError({message:u.message||mxResources.get("drawingTooLarge")})}}),b=document.createElement("img"),b.setAttribute("src",Editor.tweetImage),b.setAttribute("width","18"),b.setAttribute("height","18"),b.setAttribute("border","0"),b.style.marginBottom="5px",f.appendChild(b),f.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),f.style.verticalAlign=
+"bottom",f.style.paddingTop="4px",f.style.minWidth="46px",f.className="geBtn",m.appendChild(f))}b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.appendChild(b);f=mxUtils.button(mxResources.get("copy"),function(){n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>d.length?mxClient.IS_SF||null!=document.documentMode?
+b.className="geBtn gePrimaryBtn":(m.appendChild(f),f.className="geBtn gePrimaryBtn",b.className="geBtn"):(m.appendChild(p),b.className="geBtn",p.className="geBtn gePrimaryBtn");c.appendChild(m);this.container=c};EmbedDialog.showPreviewOption=!0;
+var GoogleSitesDialog=function(a,d){function e(){var a=null!=y.getTitle()?y.getTitle():this.defaultFilename;if(G.checked&&""!=u.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(u.value));null!=a&&(c+="&title="+encodeURIComponent(a));0<F.length&&(c+="&s="+F);""!=q.value&&"0"!=q.value&&(c+="&border="+q.value);""!=h.value&&(c+="&height="+h.value);c+="&pan="+(t.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+
+(l.checked?"1":"0");c+="&x0="+Number(f.value);c+="&y0="+p;g.mathEnabled&&(c+="&math=1");B.checked?c+="&edit=_blank":x.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));b.value=c}else y.constructor==DriveFile||y.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=u.value?c+=encodeURIComponent(mxUtils.htmlEntities(u.value))+"&type=3":(c+=y.getHash().substring(1),c=y.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=a&&(c+="&title="+
+encodeURIComponent(a)),""!=h.value&&(a=parseInt(h.value)+parseInt(f.value),c+="&height="+a),b.value=c):b.value=""}var c=document.createElement("div"),g=a.editor.graph,k=g.getGraphBounds(),m=g.view.scale,n=Math.floor(k.x/m-g.view.translate.x),p=Math.floor(k.y/m-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var b=document.createElement("input");b.setAttribute("type","text");b.style.marginBottom="8px";b.style.marginTop="2px";b.style.width="410px";c.appendChild(b);
 mxUtils.br(c);this.init=function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","4");f.style.marginRight="16px";f.style.marginLeft="4px";f.value=n;c.appendChild(f);mxUtils.write(c,mxResources.get("height")+":");var h=document.createElement("input");h.setAttribute("type",
-"text");h.setAttribute("size","4");h.style.marginLeft="4px";h.value=Math.ceil(k.height/l);c.appendChild(h);mxUtils.br(c);k=document.createElement("hr");k.setAttribute("size","1");k.style.marginBottom="16px";k.style.marginTop="16px";c.appendChild(k);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","text");t.setAttribute("size","28");t.style.marginBottom="8px";t.style.marginTop="2px";t.style.width="410px";t.value=e||"";
-c.appendChild(t);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","3");q.style.marginBottom="8px";q.style.marginLeft="4px";q.value="0";c.appendChild(q);mxUtils.br(c);var u=document.createElement("input");u.setAttribute("type","checkbox");u.setAttribute("checked","checked");u.defaultChecked=!0;u.style.marginLeft="16px";c.appendChild(u);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input");
-w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";y.setAttribute("title",window.location.href);c.appendChild(y);mxUtils.write(c,mxResources.get("edit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";c.appendChild(x);mxUtils.write(c,
-mxResources.get("asNew")+" ");mxUtils.br(c);var m=document.createElement("input");m.setAttribute("type","checkbox");m.setAttribute("checked","checked");m.defaultChecked=!0;m.style.marginLeft="16px";c.appendChild(m);mxUtils.write(c,mxResources.get("resize")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("fit")+" ");var H=document.createElement("input");H.setAttribute("type","checkbox");H.style.marginLeft=
-"8px";c.appendChild(H);mxUtils.write(c,mxResources.get("embed")+" ");var G=a.getBasenames().join(";"),z=a.getCurrentFile();mxEvent.addListener(u,"change",d);mxEvent.addListener(w,"change",d);mxEvent.addListener(m,"change",d);mxEvent.addListener(v,"change",d);mxEvent.addListener(y,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(H,"change",d);mxEvent.addListener(h,"change",d);mxEvent.addListener(f,"change",d);mxEvent.addListener(q,"change",d);mxEvent.addListener(t,"change",d);d();
-mxEvent.addListener(b,"click",function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)});k=document.createElement("div");k.style.paddingTop="12px";k.style.textAlign="right";l=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});l.className="geBtn gePrimaryBtn";k.appendChild(l);c.appendChild(k);this.container=c},CreateGraphDialog=function(a,e,d){var c=document.createElement("div");c.style.textAlign=
-"right";this.init=function(){var e=document.createElement("div");e.style.position="relative";e.style.border="1px solid gray";e.style.width="100%";e.style.height="360px";e.style.overflow="hidden";e.style.marginBottom="16px";mxEvent.disableContextMenu(e);c.appendChild(e);var k=new Graph(e);k.setCellsCloneable(!0);k.setPanning(!0);k.setAllowDanglingEdges(!1);k.connectionHandler.select=!1;k.view.setTranslate(20,20);k.border=20;k.panningHandler.useLeftButtonForPanning=!0;var l="curved=1;";k.cellRenderer.installCellOverlayListeners=
+"text");h.setAttribute("size","4");h.style.marginLeft="4px";h.value=Math.ceil(k.height/m);c.appendChild(h);mxUtils.br(c);k=document.createElement("hr");k.setAttribute("size","1");k.style.marginBottom="16px";k.style.marginTop="16px";c.appendChild(k);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","28");u.style.marginBottom="8px";u.style.marginTop="2px";u.style.width="410px";u.value=d||"";
+c.appendChild(u);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","3");q.style.marginBottom="8px";q.style.marginLeft="4px";q.value="0";c.appendChild(q);mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";c.appendChild(t);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input");
+w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var B=document.createElement("input");B.setAttribute("type","checkbox");B.style.marginLeft="8px";c.appendChild(B);mxUtils.write(c,
+mxResources.get("asNew")+" ");mxUtils.br(c);var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;l.style.marginLeft="16px";c.appendChild(l);mxUtils.write(c,mxResources.get("resize")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("fit")+" ");var G=document.createElement("input");G.setAttribute("type","checkbox");G.style.marginLeft=
+"8px";c.appendChild(G);mxUtils.write(c,mxResources.get("embed")+" ");var F=a.getBasenames().join(";"),y=a.getCurrentFile();mxEvent.addListener(t,"change",e);mxEvent.addListener(w,"change",e);mxEvent.addListener(l,"change",e);mxEvent.addListener(v,"change",e);mxEvent.addListener(x,"change",e);mxEvent.addListener(B,"change",e);mxEvent.addListener(G,"change",e);mxEvent.addListener(h,"change",e);mxEvent.addListener(f,"change",e);mxEvent.addListener(q,"change",e);mxEvent.addListener(u,"change",e);e();
+mxEvent.addListener(b,"click",function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)});k=document.createElement("div");k.style.paddingTop="12px";k.style.textAlign="right";m=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.className="geBtn gePrimaryBtn";k.appendChild(m);c.appendChild(k);this.container=c},CreateGraphDialog=function(a,d,e){var c=document.createElement("div");c.style.textAlign=
+"right";this.init=function(){var d=document.createElement("div");d.style.position="relative";d.style.border="1px solid gray";d.style.width="100%";d.style.height="360px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);c.appendChild(d);var k=new Graph(d);k.setCellsCloneable(!0);k.setPanning(!0);k.setAllowDanglingEdges(!1);k.connectionHandler.select=!1;k.view.setTranslate(20,20);k.border=20;k.panningHandler.useLeftButtonForPanning=!0;var m="curved=1;";k.cellRenderer.installCellOverlayListeners=
 function(b,a,f){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(f.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(f){a.fireEvent(new mxEventObject("pointerdown","event",f,"state",b))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(f.node,"touchstart",function(f){a.fireEvent(new mxEventObject("pointerdown","event",f,"state",b))})};k.getAllConnectionConstraints=function(){return null};k.connectionHandler.marker.highlight.keepOnTop=
-!1;k.connectionHandler.createEdgeState=function(b){b=k.createEdge(null,null,null,null,null,l);return new mxCellState(this.graph.view,b,this.graph.getCellStyle(b))};var n=k.getDefaultParent(),p=mxUtils.bind(this,function(b){var a=new mxCellOverlay(this.connectImage,"Add outgoing");a.cursor="hand";a.addListener(mxEvent.CLICK,function(a,f){k.connectionHandler.reset();k.clearSelection();var m=k.getCellGeometry(b),c;h(function(){c=k.insertVertex(n,null,"Entry",m.x,m.y,80,30,"rounded=1;");p(c);k.view.refresh(c);
-k.insertEdge(n,null,"",b,c,l)},function(){k.scrollCellToVisible(c)})});a.addListener("pointerdown",function(b,a){var f=a.getProperty("event"),c=a.getProperty("state");k.popupMenuHandler.hideMenu();k.stopEditing(!1);var m=mxUtils.convertPoint(k.container,mxEvent.getClientX(f),mxEvent.getClientY(f));k.connectionHandler.start(c,m.x,m.y);k.isMouseDown=!0;k.isMouseTrigger=mxEvent.isMouseEvent(f);mxEvent.consume(f)});k.addCellOverlay(b,a)});k.getModel().beginUpdate();var b;try{b=k.insertVertex(n,null,"Start",
-0,0,80,30,"ellipse"),p(b)}finally{k.getModel().endUpdate()}var f;"horizontalTree"==d?(f=new mxCompactTreeLayout(k),f.edgeRouting=!1,f.levelDistance=30,l="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==d?(f=new mxCompactTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=30,l="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==d?(f=new mxRadialTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=80):"verticalFlow"==d?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
-d?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_WEST):"organic"==d?(f=new mxFastOrganicLayout(k,!1),f.forceConstant=80):"circle"==d&&(f=new mxCircleLayout(k));if(null!=f){var h=function(a,c){k.getModel().beginUpdate();try{null!=a&&a(),f.execute(k.getDefaultParent(),b)}catch(m){throw m;}finally{var h=new mxMorphing(k);h.addListener(mxEvent.DONE,mxUtils.bind(this,function(){k.getModel().endUpdate();null!=c&&c()}));h.startAnimation()}},t=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
-function(b,a,f,c,v){t.apply(this,arguments);h()};k.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);h()};k.connectionHandler.addListener(mxEvent.CONNECT,function(){h()})}var q=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=e.parentNode&&(k.destroy(),e.parentNode.removeChild(e));a.hideDialog()})});q.className="geBtn";a.editor.cancelFirst&&c.appendChild(q);var u=mxUtils.button(mxResources.get("insert"),function(){k.clearCellOverlays();
-var b=a.editor.graph.getFreeInsertPoint(),b=a.editor.graph.importCells(k.getModel().getChildren(k.getDefaultParent()),b.x,b.y),f=a.editor.graph.view,c=f.getBounds(b);c.x-=f.translate.x;c.y-=f.translate.y;a.editor.graph.scrollRectToVisible(c);a.editor.graph.setSelectionCells(b);null!=e.parentNode&&(k.destroy(),e.parentNode.removeChild(e));a.hideDialog()});c.appendChild(u);u.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(q)};this.container=c};
+!1;k.connectionHandler.createEdgeState=function(b){b=k.createEdge(null,null,null,null,null,m);return new mxCellState(this.graph.view,b,this.graph.getCellStyle(b))};var n=k.getDefaultParent(),p=mxUtils.bind(this,function(b){var a=new mxCellOverlay(this.connectImage,"Add outgoing");a.cursor="hand";a.addListener(mxEvent.CLICK,function(a,f){k.connectionHandler.reset();k.clearSelection();var l=k.getCellGeometry(b),c;h(function(){c=k.insertVertex(n,null,"Entry",l.x,l.y,80,30,"rounded=1;");p(c);k.view.refresh(c);
+k.insertEdge(n,null,"",b,c,m)},function(){k.scrollCellToVisible(c)})});a.addListener("pointerdown",function(b,a){var f=a.getProperty("event"),l=a.getProperty("state");k.popupMenuHandler.hideMenu();k.stopEditing(!1);var c=mxUtils.convertPoint(k.container,mxEvent.getClientX(f),mxEvent.getClientY(f));k.connectionHandler.start(l,c.x,c.y);k.isMouseDown=!0;k.isMouseTrigger=mxEvent.isMouseEvent(f);mxEvent.consume(f)});k.addCellOverlay(b,a)});k.getModel().beginUpdate();var b;try{b=k.insertVertex(n,null,"Start",
+0,0,80,30,"ellipse"),p(b)}finally{k.getModel().endUpdate()}var f;"horizontalTree"==e?(f=new mxCompactTreeLayout(k),f.edgeRouting=!1,f.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==e?(f=new mxCompactTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==e?(f=new mxRadialTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=80):"verticalFlow"==e?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
+e?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_WEST):"organic"==e?(f=new mxFastOrganicLayout(k,!1),f.forceConstant=80):"circle"==e&&(f=new mxCircleLayout(k));if(null!=f){var h=function(a,c){k.getModel().beginUpdate();try{null!=a&&a(),f.execute(k.getDefaultParent(),b)}catch(l){throw l;}finally{var h=new mxMorphing(k);h.addListener(mxEvent.DONE,mxUtils.bind(this,function(){k.getModel().endUpdate();null!=c&&c()}));h.startAnimation()}},u=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
+function(b,a,f,l,c){u.apply(this,arguments);h()};k.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);h()};k.connectionHandler.addListener(mxEvent.CONNECT,function(){h()})}var q=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=d.parentNode&&(k.destroy(),d.parentNode.removeChild(d));a.hideDialog()})});q.className="geBtn";a.editor.cancelFirst&&c.appendChild(q);var t=mxUtils.button(mxResources.get("insert"),function(){k.clearCellOverlays();
+var b=a.editor.graph.getFreeInsertPoint(),b=a.editor.graph.importCells(k.getModel().getChildren(k.getDefaultParent()),b.x,b.y),f=a.editor.graph.view,c=f.getBounds(b);c.x-=f.translate.x;c.y-=f.translate.y;a.editor.graph.scrollRectToVisible(c);a.editor.graph.setSelectionCells(b);null!=d.parentNode&&(k.destroy(),d.parentNode.removeChild(d));a.hideDialog()});c.appendChild(t);t.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(q)};this.container=c};
 CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==":
 IMAGE_PATH+"/handle-connect.png",26,26);
-var BackgroundImageDialog=function(a,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";d.appendChild(c);mxUtils.write(d,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(d);var c=a.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value=
-null!=c?c.src:"";var k=!1,l=function(){k||""==g.value||a.isOffline()?(n.value="",p.value=""):a.loadImage(mxUtils.trim(g.value),function(b){n.value=b.width;p.value=b.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";n.value="";p.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=d.parentNode,f=null;mxEvent.addListener(b,"dragleave",function(b){null!=
-f&&(f.parentNode.removeChild(f),f=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==f&&(!mxClient.IS_IE||10<document.documentMode)&&(f=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=f&&(f.parentNode.removeChild(f),f=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(b,a,f,c,h,q){g.value=b;l()},function(){},
-function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(g.value=decodeURIComponent(c),l())}b.stopPropagation();b.preventDefault()}),!1)}};d.appendChild(g);mxUtils.br(d);mxUtils.br(d);mxUtils.write(d,mxResources.get("width")+":");var n=document.createElement("input");
-n.setAttribute("type","text");n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="16px";n.value=null!=c?c.width:"";d.appendChild(n);mxUtils.write(d,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.height:"";d.appendChild(p);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";n.value="";p.value="";k=!1});mxEvent.addListener(c,"mousedown",
-function(){k=!0});mxEvent.addListener(c,"touchstart",function(){k=!0});c.className="geBtn";c.width="100";d.appendChild(c);mxUtils.br(d);mxEvent.addListener(g,"change",l);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(g.value=b.url,l()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
+var BackgroundImageDialog=function(a,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";e.appendChild(c);mxUtils.write(e,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(e);var c=a.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value=
+null!=c?c.src:"";var k=!1,m=function(){k||""==g.value||a.isOffline()?(n.value="",p.value=""):a.loadImage(mxUtils.trim(g.value),function(b){n.value=b.width;p.value=b.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";n.value="";p.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=e.parentNode,f=null;mxEvent.addListener(b,"dragleave",function(b){null!=
+f&&(f.parentNode.removeChild(f),f=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==f&&(!mxClient.IS_IE||10<document.documentMode)&&(f=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=f&&(f.parentNode.removeChild(f),f=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(b,a,f,l,c,h){g.value=b;m()},function(){},
+function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(g.value=decodeURIComponent(c),m())}b.stopPropagation();b.preventDefault()}),!1)}};e.appendChild(g);mxUtils.br(e);mxUtils.br(e);mxUtils.write(e,mxResources.get("width")+":");var n=document.createElement("input");
+n.setAttribute("type","text");n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="16px";n.value=null!=c?c.width:"";e.appendChild(n);mxUtils.write(e,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.height:"";e.appendChild(p);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";n.value="";p.value="";k=!1});mxEvent.addListener(c,"mousedown",
+function(){k=!0});mxEvent.addListener(c,"touchstart",function(){k=!0});c.className="geBtn";c.width="100";e.appendChild(c);mxUtils.br(e);mxEvent.addListener(g,"change",m);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(g.value=b.url,m()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
 b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var f=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)});
 f.className="geBtn";c.appendChild(f);null!=a.drive&&"1"==urlParams.photos&&(f=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),f.className="geBtn",c.appendChild(f))}f=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();e(""!=g.value?new mxImage(mxUtils.trim(g.value),n.value,p.value):null)});f.className="geBtn gePrimaryBtn";c.appendChild(f);a.editor.cancelFirst||c.appendChild(b);d.appendChild(c);this.container=d},ParseDialog=function(a,e,d){function c(b,f){var c=b.split("\n");if("plantUmlPng"==f||"plantUmlSvg"==
-f||"plantUmlTxt"==f){var c="plantUmlTxt"==f?PLANT_URL+"/txt/":"plantUmlPng"==f?PLANT_URL+"/png/":PLANT_URL+"/svg/",h=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var d=function(b){if(10>b)return String.fromCharCode(48+b);b-=10;if(26>b)return String.fromCharCode(65+b);b-=26;if(26>b)return String.fromCharCode(97+b);b-=26;return 0==b?"-":1==b?"_":"?"},e=function(b,a,f){c1=b>>2;c2=(b&3)<<4|a>>4;c3=(a&15)<<2|f>>6;c4=f&63;r="";r+=d(c1&63);r+=d(c2&63);r+=d(c3&63);return r+=
-d(c4&63)},x=new XMLHttpRequest;x.open("GET",c+function(b){r="";for(g=0;g<b.length;g+=3)r=g+2==b.length?r+e(b.charCodeAt(g),b.charCodeAt(g+1),0):g+1==b.length?r+e(b.charCodeAt(g),0,0):r+e(b.charCodeAt(g),b.charCodeAt(g+1),b.charCodeAt(g+2));return r}(h.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=f&&(x.responseType="blob");x.onload=function(c){if(200<=this.status&&300>this.status)if("plantUmlTxt"==f){a.spinner.stop();h.getModel().beginUpdate();try{cell=h.insertVertex(null,
-null,"<pre>"+this.response+"</pre>",k.x,k.y,1,1,"text;html=1;overflow=fill;"),h.updateCellSize(cell,!0)}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())}else c=new FileReader,c.readAsDataURL(this.response),c.onload=function(f){var c=new Image;c.onload=function(){a.spinner.stop();var m=c.width,v=c.height;if(0==m&&0==v){var d=f.target.result,q=d.indexOf(","),d=decodeURIComponent(escape(atob(d.substring(q+1)))),d=mxUtils.parseXml(d).getElementsByTagName("svg");
-0<d.length&&(m=parseFloat(d[0].getAttribute("width")),v=parseFloat(d[0].getAttribute("height")))}h.getModel().beginUpdate();try{cell=h.insertVertex(null,null,b,k.x,k.y,m,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(f.target.result)+";")}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())};c.src=f.target.result},c.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(c)};x.onerror=
-function(b){a.handleError(b)};x.send()}}else if("table"==f){for(var m=null,v=[],t=0,g=0;g<c.length;g++)if(x=mxUtils.trim(c[g]),"create table"==x.substring(0,12).toLowerCase())x=mxUtils.trim(x.substring(12)),"("==x.charAt(x.length-1)&&(x=x.substring(0,x.lastIndexOf(" "))),m=new mxCell(x,new mxGeometry(t,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
-m.vertex=!0,v.push(m),x=a.editor.graph.getPreferredSizeForCell(A),null!=x&&(m.geometry.width=x.width+10);else if(null!=m&&")"==x.charAt(0))t+=m.geometry.width+40,m=null;else if("("!=x&&null!=m&&(x=x.substring(0,","==x.charAt(x.length-1)?x.length-1:x.length),"primary key"!=x.substring(0,11).toLowerCase())){var l=x.toLowerCase().indexOf("primary key"),x=x.replace(/primary key/i,""),A=new mxCell(x,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
-A.vertex=!0;x=sb.cloneCell(A,0<l?"PK":"");x.connectable=!1;x.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";x.geometry.width=30;x.geometry.height=26;A.insert(x);x=a.editor.graph.getPreferredSizeForCell(A);null!=x&&m.geometry.width<x.width+10&&(m.geometry.width=Math.min(220,x.width+10));m.insert(A);m.geometry.height+=26}0<v.length&&(h=a.editor.graph,
-c=h.view,x=h.getGraphBounds(),h.setSelectionCells(h.importCells(v,Math.ceil(Math.max(0,x.x/c.scale-c.translate.x)+4*h.gridSize),Math.ceil(Math.max(0,(x.y+x.height)/c.scale-c.translate.y)+4*h.gridSize))),h.scrollCellToVisible(h.getSelectionCell()))}else if("list"==f){if(0<c.length){h=a.editor.graph;m=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
-m.vertex=!0;x=h.getPreferredSizeForCell(m);null!=x&&m.geometry.width<x.width+10&&(m.geometry.width=x.width+10);A=[m];if(1<c.length)for(g=1;g<c.length;g++)"--"==c[g]?(x=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),x.vertex=!0,m.geometry.height+=x.geometry.height,m.insert(x),A.push(x)):0<c[g].length&&";"!=c[g].charAt(0)&&(t=new mxCell(c[g],
-new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),t.vertex=!0,x=h.getPreferredSizeForCell(t),null!=x&&t.geometry.width<x.width&&(t.geometry.width=x.width),m.geometry.width=Math.max(m.geometry.width,t.geometry.width),m.geometry.height+=t.geometry.height,m.insert(t),A.push(t));h.getModel().beginUpdate();try{m=h.importCells([m],k.x,k.y)[0],h.fireEvent(new mxEventObject("cellsInserted",
-"cells",[m].concat(m.children)))}finally{h.getModel().endUpdate()}h.setSelectionCell(m);h.scrollCellToVisible(h.getSelectionCell())}}else{for(var A=function(b){var a=n[b];null==a&&(a=new mxCell(b,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),a.vertex=!0,n[b]=a,v.push(a));return a},n={},v=[],g=0;g<c.length;g++)if(";"!=c[g].charAt(0)){var p=c[g].split("->");2<=p.length&&(t=A(p[0]),l=A(p[p.length-1]),p=new mxCell(2<p.length?p[1]:"",new mxGeometry),p.edge=!0,t.insertEdge(p,!0),l.insertEdge(p,!1),
-v.push(p))}if(0<v.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);h=new Graph(c);h.getModel().beginUpdate();try{v=h.importCells(v);for(g=0;g<v.length;g++)h.getModel().isVertex(v[g])&&(x=h.getPreferredSizeForCell(v[g]),v[g].geometry.width=Math.max(v[g].geometry.width,x.width),v[g].geometry.height=Math.max(v[g].geometry.height,x.height));m=new mxFastOrganicLayout(h);m.disableEdgeStyle=!1;m.forceConstant=120;m.execute(h.getDefaultParent())}finally{h.getModel().endUpdate()}h.clearCellOverlays();
-A=[];a.editor.graph.getModel().beginUpdate();try{A=a.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),k.x,k.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",A))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(A[0]);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());h.destroy();c.parentNode.removeChild(c)}}}function g(){return"list"==n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
+a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),f.className="geBtn",c.appendChild(f))}f=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d(""!=g.value?new mxImage(mxUtils.trim(g.value),n.value,p.value):null)});f.className="geBtn gePrimaryBtn";c.appendChild(f);a.editor.cancelFirst||c.appendChild(b);e.appendChild(c);this.container=e},ParseDialog=function(a,d,e){function c(b,f){var c=b.split("\n");if("plantUmlPng"==f||"plantUmlSvg"==
+f||"plantUmlTxt"==f){var c="plantUmlTxt"==f?PLANT_URL+"/txt/":"plantUmlPng"==f?PLANT_URL+"/png/":PLANT_URL+"/svg/",h=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var e=function(b){if(10>b)return String.fromCharCode(48+b);b-=10;if(26>b)return String.fromCharCode(65+b);b-=26;if(26>b)return String.fromCharCode(97+b);b-=26;return 0==b?"-":1==b?"_":"?"},q=function(b,a,f){c1=b>>2;c2=(b&3)<<4|a>>4;c3=(a&15)<<2|f>>6;c4=f&63;r="";r+=e(c1&63);r+=e(c2&63);r+=e(c3&63);return r+=
+e(c4&63)},l=new XMLHttpRequest;l.open("GET",c+function(b){r="";for(g=0;g<b.length;g+=3)r=g+2==b.length?r+q(b.charCodeAt(g),b.charCodeAt(g+1),0):g+1==b.length?r+q(b.charCodeAt(g),0,0):r+q(b.charCodeAt(g),b.charCodeAt(g+1),b.charCodeAt(g+2));return r}(h.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=f&&(l.responseType="blob");l.onload=function(c){if(200<=this.status&&300>this.status)if("plantUmlTxt"==f){a.spinner.stop();h.getModel().beginUpdate();try{cell=h.insertVertex(null,
+null,"<pre>"+this.response+"</pre>",k.x,k.y,1,1,"text;html=1;overflow=fill;"),h.updateCellSize(cell,!0)}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())}else c=new FileReader,c.readAsDataURL(this.response),c.onload=function(f){var c=new Image;c.onload=function(){a.spinner.stop();var l=c.width,v=c.height;if(0==l&&0==v){var e=f.target.result,q=e.indexOf(","),e=decodeURIComponent(escape(atob(e.substring(q+1)))),e=mxUtils.parseXml(e).getElementsByTagName("svg");
+0<e.length&&(l=parseFloat(e[0].getAttribute("width")),v=parseFloat(e[0].getAttribute("height")))}h.getModel().beginUpdate();try{cell=h.insertVertex(null,null,b,k.x,k.y,l,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(f.target.result)+";")}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())};c.src=f.target.result},c.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(c)};l.onerror=
+function(b){a.handleError(b)};l.send()}}else if("table"==f){for(var v=null,d=[],u=0,g=0;g<c.length;g++)if(l=mxUtils.trim(c[g]),"create table"==l.substring(0,12).toLowerCase())l=mxUtils.trim(l.substring(12)),"("==l.charAt(l.length-1)&&(l=l.substring(0,l.lastIndexOf(" "))),v=new mxCell(l,new mxGeometry(u,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
+v.vertex=!0,d.push(v),l=a.editor.graph.getPreferredSizeForCell(n),null!=l&&(v.geometry.width=l.width+10);else if(null!=v&&")"==l.charAt(0))u+=v.geometry.width+40,v=null;else if("("!=l&&null!=v&&(l=l.substring(0,","==l.charAt(l.length-1)?l.length-1:l.length),"primary key"!=l.substring(0,11).toLowerCase())){var m=l.toLowerCase().indexOf("primary key"),l=l.replace(/primary key/i,""),n=new mxCell(l,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
+n.vertex=!0;l=sb.cloneCell(n,0<m?"PK":"");l.connectable=!1;l.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";l.geometry.width=30;l.geometry.height=26;n.insert(l);l=a.editor.graph.getPreferredSizeForCell(n);null!=l&&v.geometry.width<l.width+10&&(v.geometry.width=Math.min(220,l.width+10));v.insert(n);v.geometry.height+=26}0<d.length&&(h=a.editor.graph,
+c=h.view,l=h.getGraphBounds(),h.setSelectionCells(h.importCells(d,Math.ceil(Math.max(0,l.x/c.scale-c.translate.x)+4*h.gridSize),Math.ceil(Math.max(0,(l.y+l.height)/c.scale-c.translate.y)+4*h.gridSize))),h.scrollCellToVisible(h.getSelectionCell()))}else if("list"==f){if(0<c.length){h=a.editor.graph;v=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
+v.vertex=!0;l=h.getPreferredSizeForCell(v);null!=l&&v.geometry.width<l.width+10&&(v.geometry.width=l.width+10);n=[v];if(1<c.length)for(g=1;g<c.length;g++)"--"==c[g]?(l=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),l.vertex=!0,v.geometry.height+=l.geometry.height,v.insert(l),n.push(l)):0<c[g].length&&";"!=c[g].charAt(0)&&(u=new mxCell(c[g],
+new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),u.vertex=!0,l=h.getPreferredSizeForCell(u),null!=l&&u.geometry.width<l.width&&(u.geometry.width=l.width),v.geometry.width=Math.max(v.geometry.width,u.geometry.width),v.geometry.height+=u.geometry.height,v.insert(u),n.push(u));h.getModel().beginUpdate();try{v=h.importCells([v],k.x,k.y)[0],h.fireEvent(new mxEventObject("cellsInserted",
+"cells",[v].concat(v.children)))}finally{h.getModel().endUpdate()}h.setSelectionCell(v);h.scrollCellToVisible(h.getSelectionCell())}}else{for(var n=function(b){var a=p[b];null==a&&(a=new mxCell(b,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),a.vertex=!0,p[b]=a,d.push(a));return a},p={},d=[],g=0;g<c.length;g++)if(";"!=c[g].charAt(0)){var H=c[g].split("->");2<=H.length&&(u=n(H[0]),m=n(H[H.length-1]),H=new mxCell(2<H.length?H[1]:"",new mxGeometry),H.edge=!0,u.insertEdge(H,!0),m.insertEdge(H,!1),
+d.push(H))}if(0<d.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);h=new Graph(c);h.getModel().beginUpdate();try{d=h.importCells(d);for(g=0;g<d.length;g++)h.getModel().isVertex(d[g])&&(l=h.getPreferredSizeForCell(d[g]),d[g].geometry.width=Math.max(d[g].geometry.width,l.width),d[g].geometry.height=Math.max(d[g].geometry.height,l.height));v=new mxFastOrganicLayout(h);v.disableEdgeStyle=!1;v.forceConstant=120;v.execute(h.getDefaultParent())}finally{h.getModel().endUpdate()}h.clearCellOverlays();
+n=[];a.editor.graph.getModel().beginUpdate();try{n=a.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),k.x,k.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",n))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(n);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());h.destroy();c.parentNode.removeChild(c)}}}function g(){return"list"==n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
 "table"==n.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==n.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":
-"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var k=a.editor.graph.getFreeInsertPoint();e=document.createElement("div");e.style.textAlign="right";var l=document.createElement("textarea");l.style.resize="none";l.style.width="100%";l.style.height=
-"354px";l.style.marginBottom="16px";var n=document.createElement("select"),p=document.createElement("option");p.setAttribute("value","list");mxUtils.write(p,mxResources.get("list"));n.appendChild(p);null!=d&&"fromText"!=d||p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value","table");mxUtils.write(p,mxResources.get("formatSql"));n.appendChild(p);"formatSql"==d&&p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value",
-"diagram");mxUtils.write(p,mxResources.get("diagram"));n.appendChild(p);p=document.createElement("option");p.setAttribute("value","plantUmlSvg");mxUtils.write(p,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&p.setAttribute("selected","selected");d=document.createElement("option");d.setAttribute("value","plantUmlPng");mxUtils.write(d,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var b=document.createElement("option");b.setAttribute("value","plantUmlTxt");
-mxUtils.write(b,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&(n.appendChild(p),n.appendChild(d),n.appendChild(b));var f=g();l.value=f;e.appendChild(l);this.init=function(){l.focus()};Graph.fileSupport&&(l.addEventListener("dragover",function(b){b.stopPropagation();b.preventDefault()},!1),l.addEventListener("drop",function(b){b.stopPropagation();b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];
-var a=new FileReader;a.onload=function(b){l.value=b.target.result};a.readAsText(b)}},!1));e.appendChild(n);mxEvent.addListener(n,"change",function(){var b=g();if(0==l.value.length||l.value==f)f=b,l.value=f});d=mxUtils.button(mxResources.get("close"),function(){l.value==f?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});d.className="geBtn";a.editor.cancelFirst&&e.appendChild(d);p=mxUtils.button(mxResources.get("insert"),function(){a.hideDialog();c(l.value,n.value)});
-e.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||e.appendChild(d);this.container=e},NewDialog=function(a,e,d,c,g,k,l,n,p,b,f,h,t,q,u){function w(){for(var b=!0;B<Q.length&&(b||0!=mxUtils.mod(B,30));)b=Q[B++],m(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick),b=!1}function y(){if(S)d||a.hideDialog(),q(S,O,A.value);else if(c)d||a.hideDialog(),c(Z,A.value);else{var b=A.value;null!=b&&0<b.length&&a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==
-App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(f){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,f)})}}function x(b,a,f,c,m){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");D.removeAttribute("disabled");Z=a;X=f;N=b;S=c;O=m;N.style.backgroundColor=n;N.style.border=p}function m(b,a,f,c,m,h,v,d){var q=document.createElement("div");q.className="geTemplate";q.style.height=
-R+"px";q.style.width=T+"px";null!=c&&0<c.length&&q.setAttribute("title",c);if(null!=h)q.style.backgroundImage="url("+h+")",q.style.backgroundSize="contain",q.style.backgroundPosition="center center",q.style.backgroundRepeat="no-repeat",mxEvent.addListener(q,"click",function(a){x(q,null,null,b,v)}),mxEvent.addListener(q,"dblclick",function(b){y()});else if(null!=b&&0<b.length){b.substring(0,b.length-4);q.style.backgroundImage="url("+TEMPLATE_PATH+"/"+b.substring(0,b.length-4)+".png)";q.style.backgroundPosition=
-"center center";q.style.backgroundRepeat="no-repeat";var e=!1;mxEvent.addListener(q,"click",function(f){D.setAttribute("disabled","disabled");q.style.backgroundColor="transparent";q.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+b,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(x(q,b.getText(),a),e&&y())}))});mxEvent.addListener(q,"dblclick",function(b){e=!0})}else q.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(f)+
-"</td></tr></table>",m&&x(q),null!=d?mxEvent.addListener(q,"click",d):(mxEvent.addListener(q,"click",function(b){x(q)}),mxEvent.addListener(q,"dblclick",function(b){y()}));I.appendChild(q)}function v(){mxEvent.addListener(I,"scroll",function(b){I.scrollTop+I.clientHeight>=I.scrollHeight&&(w(),mxEvent.consume(b))});var a=null,f;for(f in V){var c=document.createElement("div"),m=mxResources.get(f),h=V[f];null==m&&(m=f.substring(0,1).toUpperCase()+f.substring(1));18<m.length&&(m=m.substring(0,18)+"&hellip;");
-c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",m+" ("+h.length+")");mxUtils.write(c,c.getAttribute("title"));null!=b&&(c.style.padding=b);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=l);(function(b,f){mxEvent.addListener(c,"click",function(){a!=f&&(a.style.backgroundColor="",a=f,a.style.backgroundColor=l,I.scrollTop=0,I.innerHTML="",B=0,Q=V[b],C=null,w())})})(f,c)}w()}d=null!=
-d?d:!0;g=null!=g?g:!1;l=null!=l?l:"#ebf2f9";n=null!=n?n:"#e6eff8";p=null!=p?p:"1px solid #ccd9ea";f=null!=f?f:TEMPLATE_PATH+"/index.xml";var H=document.createElement("div");H.style.height="100%";var G=document.createElement("div");G.style.whiteSpace="nowrap";G.style.height="46px";d&&H.appendChild(G);var z=document.createElement("img");z.setAttribute("border","0");z.setAttribute("align","absmiddle");z.style.width="40px";z.style.height="40px";z.style.marginRight="10px";z.style.paddingBottom="4px";z.src=
-a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!e&&d&&G.appendChild(z);d&&mxUtils.write(G,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
-mxResources.get("filename"))+":");z=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?z=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?z=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?z=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?z=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(z=a.trello.extension);var A=document.createElement("input");A.setAttribute("value",a.defaultFilename+z);A.style.marginRight="20px";A.style.marginLeft="10px";A.style.width=
-e?"220px":"430px";this.init=function(){d&&(A.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?A.select():document.execCommand("selectAll",!1,null))};d&&G.appendChild(A);var G=!1,B=0,D=mxUtils.button(mxResources.get("create"),function(){D.setAttribute("disabled","disabled");y();D.removeAttribute("disabled")});D.className="geBtn gePrimaryBtn";if(h||t){var J=[],C=null,L=function(b){D.setAttribute("disabled","disabled");for(var a=0;a<J.length;a++)J[a].className=a==
-b?"geBtn gePrimaryBtn":"geBtn"},G=!0,z=document.createElement("div");z.style.whiteSpace="nowrap";z.style.height="30px";H.appendChild(z);var E=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";B=0;C!=Q&&(Q=C,w(),C=null)});J.push(E);z.appendChild(E);var F=function(b){W.style.display="none";I.style.left="30px";L(b?-1:1);null==C&&(C=Q);I.scrollTop=0;I.innerHTML="";var a=new Spinner({lines:12,length:10,width:5,
-radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});a.spin(I);B=0;var f=function(b,f){a.stop();Q=b;f?I.innerHTML=f:0==b.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",w())};b?t(M.value,f):h(f)};h&&(E=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){F()}),z.appendChild(E),J.push(E));if(t){E=document.createElement("span");E.style.marginLeft="10px";E.innerHTML=mxResources.get("search")+":";z.appendChild(E);
-var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(b){13==b.keyCode&&F(!0)});z.appendChild(M);E=mxUtils.button(mxResources.get("search"),function(){F(!0)});E.className="geBtn";z.appendChild(E)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";G=(d?72:40)+(G?30:0);I.style.top=
-G+"px";I.style.bottom="68px";I.style.margin="6px 0 0 -1px";I.style.padding="6px";I.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+G+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!e){H.appendChild(W);H.appendChild(I);var P=!1;mxUtils.get(f,function(b){if(!P){P=!0;for(b=b.getXml().documentElement.firstChild;null!=b;){if("undefined"!==
-typeof b.getAttribute){var a=b.getAttribute("url");if(null!=a){var f=a.indexOf("/"),a=a.substring(0,f),f=V[a];null==f&&(K++,f=[],V[a]=f);f.push({url:b.getAttribute("url"),libs:b.getAttribute("libs"),title:b.getAttribute("title"),tooltip:b.getAttribute("url")})}}b=b.nextSibling}v()}})}mxEvent.addListener(A,"keypress",function(b){13==b.keyCode&&y()});f=document.createElement("div");f.style.marginTop=e?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom=
-"24px";f.style.right="40px";G=mxUtils.button(mxResources.get("cancel"),function(){null!=k&&k();a.hideDialog(!0)});G.className="geBtn";!a.editor.cancelFirst||g&&null==k||f.appendChild(G);e||a.isOffline()||!d||null!=c||g||(z=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),z.className="geBtn",f.appendChild(z));e||"1"==urlParams.embed||g||(e=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,
-"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(A.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),e.className="geBtn",f.appendChild(e));Graph.fileSupport&&u&&(u=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple",
-"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(f){a.openFiles(b.files,!0)});b.click()}),u.className="geBtn",f.appendChild(u));f.appendChild(D);a.editor.cancelFirst||null!=c||g&&null==k||f.appendChild(G);H.appendChild(f);this.container=H},CreateDialog=function(a,e,d,c,g,k,l,n,p,b,f,h,t,q,u){function w(b,f,c,m){function d(){mxEvent.addListener(q,"click",function(){var b=c;if(l){var f=v.value,m=f.lastIndexOf(".");if(0>e.lastIndexOf(".")&&0>m){var b=null!=b?b:z.value,
-h="";b==App.MODE_GOOGLE?h=a.drive.extension:b==App.MODE_GITHUB?h=a.gitHub.extension:b==App.MODE_TRELLO?h=a.trello.extension:b==App.MODE_DROPBOX?h=a.dropbox.extension:b==App.MODE_ONEDRIVE?h=a.oneDrive.extension:b==App.MODE_DEVICE&&(h=".xml");0<=m&&(f=f.substring(0,m));v.value=f+h}}y(c)})}var q=document.createElement("a");q.style.overflow="hidden";var t=document.createElement("img");t.src=b;t.setAttribute("border","0");t.setAttribute("align","absmiddle");t.style.width="60px";t.style.height="60px";t.style.paddingBottom=
-"6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 8px 10px 8px";q.style.whiteSpace="nowrap";q.appendChild(t);mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.style.color="gray";q.style.fontSize="11px";var x=document.createElement("div");q.appendChild(x);mxUtils.write(x,f);if(null!=m&&null==a[m]){t.style.visibility="hidden";mxUtils.setOpacity(x,10);var g=new Spinner({lines:12,
-length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});g.spin(q);var w=window.setTimeout(function(){null==a[m]&&(g.stop(),q.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[m]&&(window.clearTimeout(w),mxUtils.setOpacity(x,100),t.style.visibility="",g.stop(),d())}))}else d();H.appendChild(q);++G==h&&(mxUtils.br(H),G=0)}function y(b){var f=v.value;if(null==b||null!=f&&0<f.length)a.hideDialog(),d(f,
-b)}l=null!=l?l:!0;n=null!=n?n:!0;h=null!=h?h:4;var x=document.createElement("div");null==c&&a.addLanguageMenu(x);var m=document.createElement("h2");mxUtils.write(m,g||mxResources.get("create"));m.style.marginTop="0px";m.style.marginBottom="24px";x.appendChild(m);mxUtils.write(x,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",e);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF||
-5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};x.appendChild(v);null!=t&&null!=q&&"image/"==q.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==q&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(t),t=g.getElementsByTagName("svg")[0],q=parseInt(t.getAttribute("width")),u=parseInt(t.getAttribute("height")),t.setAttribute("viewBox","0 0 "+q+" "+u),t.setAttribute("width","120px"),t.setAttribute("height","80px")):
-(g=document.createElement("img"),g.setAttribute("src","data:"+q+(u?";base64,":";utf8,")+t)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),x.appendChild(g),p&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){y("_blank")})));mxUtils.br(x);var H=document.createElement("div");H.style.textAlign="center";var G=0;H.style.marginTop=
-"6px";x.appendChild(H);var z=document.createElement("select");z.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),z.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),
-mxUtils.write(g,mxResources.get("oneDrive")),z.appendChild(g),a.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(g,mxResources.get("dropbox")),z.appendChild(g),a.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
-App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),z.appendChild(g),w(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),z.appendChild(g),w(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
-if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),z.appendChild(g),a.mode!=App.MODE_DEVICE&&n||g.setAttribute("selected","selected"),f&&w(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER),
-mxUtils.write(n,mxResources.get("browser")),z.appendChild(n),a.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),w(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");n.style.marginTop="26px";n.style.textAlign="center";null!=b&&(g=mxUtils.button(mxResources.get("help"),function(){a.openLink(b)}),g.className="geBtn",n.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(),
-window.close(),window.location.href=a.getUrl())});g.className="geBtn";a.editor.cancelFirst&&n.appendChild(g);null==c&&(t=mxUtils.button(mxResources.get("decideLater"),function(){y(null)}),t.className="geBtn",n.appendChild(t));p&&Editor.popupsAllowed&&(p=mxUtils.button(mxResources.get("openInNewWindow"),function(){y("_blank")}),p.className="geBtn",n.appendChild(p));mxClient.IS_IOS||(k=mxUtils.button(k||mxResources.get("create"),function(){y(f?"download":App.MODE_DEVICE)}),k.className="geBtn gePrimaryBtn",
-n.appendChild(k));a.editor.cancelFirst||n.appendChild(g);mxEvent.addListener(v,"keypress",function(b){13==b.keyCode?y(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});x.appendChild(n);this.container=x},PopupDialog=function(a,e,d,c,g){g=null!=g?g:!0;var k=document.createElement("div");k.style.textAlign="left";mxUtils.write(k,mxResources.get("fileOpenLocation"));mxUtils.br(k);mxUtils.br(k);var 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 n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=d&&d();a.openLink(e)});n.className="geBtn gePrimaryBtn";n.style.width=l.style.width;k.appendChild(n);mxUtils.br(k);mxUtils.br(k);mxUtils.write(k,mxResources.get("allowPopups"));this.container=k},ImageDialog=function(a,e,d,c,g,k){k=null!=k?k:!0;var l=a.editor.graph,n=document.createElement("div");
-mxUtils.write(n,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 p=document.createElement("input");p.setAttribute("value",d);p.setAttribute("type","text");p.setAttribute("spellcheck","false");p.setAttribute("autocorrect","off");p.setAttribute("autocomplete","off");p.setAttribute("autocapitalize",
-"off");p.style.marginTop="6px";p.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";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(){p.value="";p.focus()});e.appendChild(p);e.appendChild(d);n.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(),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(){p.focus();if(Graph.fileSupport){p.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.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(b,a,c,h,d,q,e,t){f(b,t)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!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";a.editor.cancelFirst&&d.appendChild(e);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(p.value=
-b.url));p.focus()};if(Graph.fileSupport){var h=document.createElement("input");h.setAttribute("multiple","multiple");h.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(h,"change",function(b){a.importFiles(h.files,0,0,a.maxImageSize,function(b,a,c,h,m,v){f(b)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0)});var t=mxUtils.button(mxResources.get("open"),function(){h.click()});t.className="geBtn";d.appendChild(t)}}document.createElement("canvas").getContext&&
-"data:image/"==p.value.substring(0,11)&&"data:image/svg"!=p.value.substring(0,14)&&(t=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,p.value,function(b){p.value=b});a.showDialog(b.container,200,180,!0,!0);b.init()}),t.className="geBtn",d.appendChild(t));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(t=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
-a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)}),t.className="geBtn",d.appendChild(t),null!=a.drive&&"1"==urlParams.photos&&(t=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),t.className="geBtn",d.appendChild(t)));mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&f(p.value)});t=mxUtils.button(mxResources.get("apply"),function(){f(p.value)});t.className="geBtn gePrimaryBtn";d.appendChild(t);a.editor.cancelFirst||d.appendChild(e);Graph.fileSupport&&(d.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition=
-"center 65%",n.style.backgroundRepeat="no-repeat",e=document.createElement("div"),e.style.position="absolute",e.style.width="420px",e.style.top="58%",e.style.textAlign="center",e.style.fontSize="18px",e.style.color="#a0c3ff",mxUtils.write(e,mxResources.get("dragImagesHere")),n.appendChild(e));n.appendChild(d);this.container=n},LinkDialog=function(a,e,d,c,g){function k(b,a,f){f=mxUtils.button("",f);f.className="geBtn";f.setAttribute("title",a);a=document.createElement("img");a.style.height="26px";
-a.style.width="26px";a.setAttribute("src",b);f.style.minWidth="42px";f.style.verticalAlign="middle";f.appendChild(a);y.appendChild(f)}var l=document.createElement("div");mxUtils.write(l,mxResources.get("editLink")+":");var n=document.createElement("div");n.className="geTitle";n.style.backgroundColor="transparent";n.style.borderColor="transparent";n.style.whiteSpace="nowrap";n.style.textOverflow="clip";n.style.cursor="default";mxClient.IS_VML||(n.style.paddingRight="20px");var p=document.createElement("input");
+"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var k=a.editor.graph.getFreeInsertPoint();d=document.createElement("div");d.style.textAlign="right";var m=document.createElement("textarea");m.style.resize="none";m.style.width="100%";m.style.height=
+"354px";m.style.marginBottom="16px";var n=document.createElement("select");"formatSql"==e&&(n.style.display="none");var p=document.createElement("option");p.setAttribute("value","list");mxUtils.write(p,mxResources.get("list"));"plantUml"!=e&&n.appendChild(p);null!=e&&"fromText"!=e||p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value","table");mxUtils.write(p,mxResources.get("formatSql"));"formatSql"==e&&(n.appendChild(p),p.setAttribute("selected","selected"));
+p=document.createElement("option");p.setAttribute("value","diagram");mxUtils.write(p,mxResources.get("diagram"));"plantUml"!=e&&n.appendChild(p);p=document.createElement("option");p.setAttribute("value","plantUmlSvg");mxUtils.write(p,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==e&&p.setAttribute("selected","selected");var b=document.createElement("option");b.setAttribute("value","plantUmlPng");mxUtils.write(b,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+
+")");var f=document.createElement("option");f.setAttribute("value","plantUmlTxt");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==e&&(n.appendChild(p),n.appendChild(b),n.appendChild(f));var h=g();m.value=h;d.appendChild(m);this.init=function(){m.focus()};Graph.fileSupport&&(m.addEventListener("dragover",function(b){b.stopPropagation();b.preventDefault()},!1),m.addEventListener("drop",function(b){b.stopPropagation();
+b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var a=new FileReader;a.onload=function(b){m.value=b.target.result};a.readAsText(b)}},!1));d.appendChild(n);mxEvent.addListener(n,"change",function(){var b=g();if(0==m.value.length||m.value==h)h=b,m.value=h});e=mxUtils.button(mxResources.get("close"),function(){m.value==h?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});e.className="geBtn";a.editor.cancelFirst&&d.appendChild(e);p=mxUtils.button(mxResources.get("insert"),
+function(){a.hideDialog();c(m.value,n.value)});d.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);this.container=d},NewDialog=function(a,d,e,c,g,k,m,n,p,b,f,h,u,q,t){function w(){for(var b=!0;z<Q.length&&(b||0!=mxUtils.mod(z,30));)b=Q[z++],l(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick),b=!1}function x(){if(S)e||a.hideDialog(),q(S,O,J.value);else if(c)e||a.hideDialog(),c(Z,J.value);else{var b=J.value;null!=b&&0<b.length&&
+a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(f){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,f)})}}function B(b,a,f,c,l){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");C.removeAttribute("disabled");Z=a;X=f;N=b;S=c;O=l;N.style.backgroundColor=n;N.style.border=p}function l(b,a,f,c,l,h,v,e){var q=document.createElement("div");
+q.className="geTemplate";q.style.height=R+"px";q.style.width=T+"px";null!=c&&0<c.length&&q.setAttribute("title",c);if(null!=h)q.style.backgroundImage="url("+h+")",q.style.backgroundSize="contain",q.style.backgroundPosition="center center",q.style.backgroundRepeat="no-repeat",mxEvent.addListener(q,"click",function(a){B(q,null,null,b,v)}),mxEvent.addListener(q,"dblclick",function(b){x()});else if(null!=b&&0<b.length){b.substring(0,b.length-4);q.style.backgroundImage="url("+TEMPLATE_PATH+"/"+b.substring(0,
+b.length-4)+".png)";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";var d=!1;mxEvent.addListener(q,"click",function(f){C.setAttribute("disabled","disabled");q.style.backgroundColor="transparent";q.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+b,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(B(q,b.getText(),a),d&&x())}))});mxEvent.addListener(q,"dblclick",function(b){d=!0})}else q.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+
+mxResources.get(f)+"</td></tr></table>",l&&B(q),null!=e?mxEvent.addListener(q,"click",e):(mxEvent.addListener(q,"click",function(b){B(q)}),mxEvent.addListener(q,"dblclick",function(b){x()}));I.appendChild(q)}function v(){mxEvent.addListener(I,"scroll",function(b){I.scrollTop+I.clientHeight>=I.scrollHeight&&(w(),mxEvent.consume(b))});var a=null,f;for(f in V){var c=document.createElement("div"),l=mxResources.get(f),h=V[f];null==l&&(l=f.substring(0,1).toUpperCase()+f.substring(1));18<l.length&&(l=l.substring(0,
+18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",l+" ("+h.length+")");mxUtils.write(c,c.getAttribute("title"));null!=b&&(c.style.padding=b);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=m);(function(b,f){mxEvent.addListener(c,"click",function(){a!=f&&(a.style.backgroundColor="",a=f,a.style.backgroundColor=m,I.scrollTop=0,I.innerHTML="",z=0,Q=V[b],A=null,w())})})(f,
+c)}w()}e=null!=e?e:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"#e6eff8";p=null!=p?p:"1px solid #ccd9ea";f=null!=f?f:TEMPLATE_PATH+"/index.xml";var G=document.createElement("div");G.style.height="100%";var F=document.createElement("div");F.style.whiteSpace="nowrap";F.style.height="46px";e&&G.appendChild(F);var y=document.createElement("img");y.setAttribute("border","0");y.setAttribute("align","absmiddle");y.style.width="40px";y.style.height="40px";y.style.marginRight="10px";y.style.paddingBottom=
+"4px";y.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&e&&F.appendChild(y);e&&mxUtils.write(F,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
+mxResources.get("filename"))+":");y=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?y=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?y=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?y=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?y=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(y=a.trello.extension);var J=document.createElement("input");J.setAttribute("value",a.defaultFilename+y);J.style.marginRight="20px";J.style.marginLeft="10px";J.style.width=
+d?"220px":"430px";this.init=function(){e&&(J.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?J.select():document.execCommand("selectAll",!1,null))};e&&F.appendChild(J);var F=!1,z=0,C=mxUtils.button(mxResources.get("create"),function(){C.setAttribute("disabled","disabled");x();C.removeAttribute("disabled")});C.className="geBtn gePrimaryBtn";if(h||u){var H=[],A=null,L=function(b){C.setAttribute("disabled","disabled");for(var a=0;a<H.length;a++)H[a].className=a==
+b?"geBtn gePrimaryBtn":"geBtn"},F=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";G.appendChild(y);var D=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";z=0;A!=Q&&(Q=A,w(),A=null)});H.push(D);y.appendChild(D);var E=function(b){W.style.display="none";I.style.left="30px";L(b?-1:1);null==A&&(A=Q);I.scrollTop=0;I.innerHTML="";var a=new Spinner({lines:12,length:10,width:5,
+radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});a.spin(I);z=0;var f=function(b,f){a.stop();Q=b;f?I.innerHTML=f:0==b.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",w())};b?u(M.value,f):h(f)};h&&(D=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){E()}),y.appendChild(D),H.push(D));if(u){D=document.createElement("span");D.style.marginLeft="10px";D.innerHTML=mxResources.get("search")+":";y.appendChild(D);
+var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(b){13==b.keyCode&&E(!0)});y.appendChild(M);D=mxUtils.button(mxResources.get("search"),function(){E(!0)});D.className="geBtn";y.appendChild(D)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";F=(e?72:40)+(F?30:0);I.style.top=
+F+"px";I.style.bottom="68px";I.style.margin="6px 0 0 -1px";I.style.padding="6px";I.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+F+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!d){G.appendChild(W);G.appendChild(I);var P=!1;mxUtils.get(f,function(b){if(!P){P=!0;for(b=b.getXml().documentElement.firstChild;null!=b;){if("undefined"!==
+typeof b.getAttribute){var a=b.getAttribute("url");if(null!=a){var f=a.indexOf("/"),a=a.substring(0,f),f=V[a];null==f&&(K++,f=[],V[a]=f);f.push({url:b.getAttribute("url"),libs:b.getAttribute("libs"),title:b.getAttribute("title"),tooltip:b.getAttribute("url")})}}b=b.nextSibling}v()}})}mxEvent.addListener(J,"keypress",function(b){13==b.keyCode&&x()});f=document.createElement("div");f.style.marginTop=d?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom=
+"24px";f.style.right="40px";F=mxUtils.button(mxResources.get("cancel"),function(){null!=k&&k();a.hideDialog(!0)});F.className="geBtn";!a.editor.cancelFirst||g&&null==k||f.appendChild(F);d||a.isOffline()||!e||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",f.appendChild(y));d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,
+"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(J.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),d.className="geBtn",f.appendChild(d));Graph.fileSupport&&t&&(t=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple",
+"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(f){a.openFiles(b.files,!0)});b.click()}),t.className="geBtn",f.appendChild(t));f.appendChild(C);a.editor.cancelFirst||null!=c||g&&null==k||f.appendChild(F);G.appendChild(f);this.container=G},CreateDialog=function(a,d,e,c,g,k,m,n,p,b,f,h,u,q,t){function w(b,f,c,l){function e(){mxEvent.addListener(q,"click",function(){var b=c;if(m){var f=v.value,l=f.lastIndexOf(".");if(0>d.lastIndexOf(".")&&0>l){var b=null!=b?b:y.value,
+h="";b==App.MODE_GOOGLE?h=a.drive.extension:b==App.MODE_GITHUB?h=a.gitHub.extension:b==App.MODE_TRELLO?h=a.trello.extension:b==App.MODE_DROPBOX?h=a.dropbox.extension:b==App.MODE_ONEDRIVE?h=a.oneDrive.extension:b==App.MODE_DEVICE&&(h=".xml");0<=l&&(f=f.substring(0,l));v.value=f+h}}x(c)})}var q=document.createElement("a");q.style.overflow="hidden";var u=document.createElement("img");u.src=b;u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom=
+"6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 8px 10px 8px";q.style.whiteSpace="nowrap";q.appendChild(u);mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.style.color="gray";q.style.fontSize="11px";var g=document.createElement("div");q.appendChild(g);mxUtils.write(g,f);if(null!=l&&null==a[l]){u.style.visibility="hidden";mxUtils.setOpacity(g,10);var t=new Spinner({lines:12,
+length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(q);var w=window.setTimeout(function(){null==a[l]&&(t.stop(),q.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[l]&&(window.clearTimeout(w),mxUtils.setOpacity(g,100),u.style.visibility="",t.stop(),e())}))}else e();G.appendChild(q);++F==h&&(mxUtils.br(G),F=0)}function x(b){var f=v.value;if(null==b||null!=f&&0<f.length)a.hideDialog(),e(f,
+b)}m=null!=m?m:!0;n=null!=n?n:!0;h=null!=h?h:4;var B=document.createElement("div");null==c&&a.addLanguageMenu(B);var l=document.createElement("h2");mxUtils.write(l,g||mxResources.get("create"));l.style.marginTop="0px";l.style.marginBottom="24px";B.appendChild(l);mxUtils.write(B,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",d);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF||
+5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};B.appendChild(v);null!=u&&null!=q&&"image/"==q.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==q&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(u),u=g.getElementsByTagName("svg")[0],q=parseInt(u.getAttribute("width")),t=parseInt(u.getAttribute("height")),u.setAttribute("viewBox","0 0 "+q+" "+t),u.setAttribute("width","120px"),u.setAttribute("height","80px")):
+(g=document.createElement("img"),g.setAttribute("src","data:"+q+(t?";base64,":";utf8,")+u)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),B.appendChild(g),p&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){x("_blank")})));mxUtils.br(B);var G=document.createElement("div");G.style.textAlign="center";var F=0;G.style.marginTop=
+"6px";B.appendChild(G);var y=document.createElement("select");y.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),y.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),
+mxUtils.write(g,mxResources.get("oneDrive")),y.appendChild(g),a.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(g,mxResources.get("dropbox")),y.appendChild(g),a.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
+App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),y.appendChild(g),w(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),y.appendChild(g),w(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
+if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),y.appendChild(g),a.mode!=App.MODE_DEVICE&&n||g.setAttribute("selected","selected"),f&&w(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER),
+mxUtils.write(n,mxResources.get("browser")),y.appendChild(n),a.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),w(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");n.style.marginTop="26px";n.style.textAlign="center";null!=b&&(g=mxUtils.button(mxResources.get("help"),function(){a.openLink(b)}),g.className="geBtn",n.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(),
+window.close(),window.location.href=a.getUrl())});g.className="geBtn";a.editor.cancelFirst&&n.appendChild(g);null==c&&(u=mxUtils.button(mxResources.get("decideLater"),function(){x(null)}),u.className="geBtn",n.appendChild(u));p&&Editor.popupsAllowed&&(p=mxUtils.button(mxResources.get("openInNewWindow"),function(){x("_blank")}),p.className="geBtn",n.appendChild(p));mxClient.IS_IOS||(k=mxUtils.button(k||mxResources.get("create"),function(){x(f?"download":App.MODE_DEVICE)}),k.className="geBtn gePrimaryBtn",
+n.appendChild(k));a.editor.cancelFirst||n.appendChild(g);mxEvent.addListener(v,"keypress",function(b){13==b.keyCode?x(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});B.appendChild(n);this.container=B},PopupDialog=function(a,d,e,c,g){g=null!=g?g:!0;var k=document.createElement("div");k.style.textAlign="left";mxUtils.write(k,mxResources.get("fileOpenLocation"));mxUtils.br(k);mxUtils.br(k);var m=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&a.hideDialog();
+null!=c&&c()});m.className="geBtn";m.style.marginBottom="8px";m.style.width="280px";k.appendChild(m);mxUtils.br(k);var n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=e&&e();a.openLink(d)});n.className="geBtn gePrimaryBtn";n.style.width=m.style.width;k.appendChild(n);mxUtils.br(k);mxUtils.br(k);mxUtils.write(k,mxResources.get("allowPopups"));this.container=k},ImageDialog=function(a,d,e,c,g,k){k=null!=k?k:!0;var m=a.editor.graph,n=document.createElement("div");
+mxUtils.write(n,d);d=document.createElement("div");d.className="geTitle";d.style.backgroundColor="transparent";d.style.borderColor="transparent";d.style.whiteSpace="nowrap";d.style.textOverflow="clip";d.style.cursor="default";mxClient.IS_VML||(d.style.paddingRight="20px");var p=document.createElement("input");p.setAttribute("value",e);p.setAttribute("type","text");p.setAttribute("spellcheck","false");p.setAttribute("autocorrect","off");p.setAttribute("autocomplete","off");p.setAttribute("autocapitalize",
+"off");p.style.marginTop="6px";p.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";e=document.createElement("div");e.setAttribute("title",mxResources.get("reset"));e.style.position="relative";e.style.left="-16px";e.style.width="12px";e.style.height="14px";e.style.cursor="pointer";e.style.display=mxClient.IS_VML?
+"inline":"inline-block";e.style.top=(mxClient.IS_VML?0:3)+"px";e.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(e,"click",function(){p.value="";p.focus()});d.appendChild(p);d.appendChild(e);n.appendChild(d);var b=function(b,f,h,e){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(l){a.spinner.stop();a.hideDialog();var v=!1===e?1:null!=f&&null!=h?Math.max(f/
+l.width,h/l.height):Math.min(1,Math.min(520/l.width,520/l.height));k&&(b=a.convertDataUri(b));c(b,Math.round(Number(l.width)*v),Math.round(Number(l.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 e=g?null:m.getModel().getGeometry(m.getSelectionCell());null!=e?b(f,e.width,
+e.height,h):b(f,null,null,h)}else a.hideDialog(),c(null)};this.init=function(){p.focus();if(Graph.fileSupport){p.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.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(b,a,c,h,e,q,d,u){f(b,u)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!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)}};e=document.createElement("div");e.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";e.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});d.className="geBtn";a.editor.cancelFirst&&e.appendChild(d);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(p.value=
+b.url));p.focus()};if(Graph.fileSupport){var h=document.createElement("input");h.setAttribute("multiple","multiple");h.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(h,"change",function(b){a.importFiles(h.files,0,0,a.maxImageSize,function(b,a,c,h,l,v){f(b)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0)});var u=mxUtils.button(mxResources.get("open"),function(){h.click()});u.className="geBtn";e.appendChild(u)}}document.createElement("canvas").getContext&&
+"data:image/"==p.value.substring(0,11)&&"data:image/svg"!=p.value.substring(0,14)&&(u=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,p.value,function(b){p.value=b});a.showDialog(b.container,200,180,!0,!0);b.init()}),u.className="geBtn",e.appendChild(u));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(u=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
+a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)}),u.className="geBtn",e.appendChild(u),null!=a.drive&&"1"==urlParams.photos&&(u=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
+a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),u.className="geBtn",e.appendChild(u)));mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&f(p.value)});u=mxUtils.button(mxResources.get("apply"),function(){f(p.value)});u.className="geBtn gePrimaryBtn";e.appendChild(u);a.editor.cancelFirst||e.appendChild(d);Graph.fileSupport&&(e.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition=
+"center 65%",n.style.backgroundRepeat="no-repeat",d=document.createElement("div"),d.style.position="absolute",d.style.width="420px",d.style.top="58%",d.style.textAlign="center",d.style.fontSize="18px",d.style.color="#a0c3ff",mxUtils.write(d,mxResources.get("dragImagesHere")),n.appendChild(d));n.appendChild(e);this.container=n},LinkDialog=function(a,d,e,c,g){function k(b,a,f){f=mxUtils.button("",f);f.className="geBtn";f.setAttribute("title",a);a=document.createElement("img");a.style.height="26px";
+a.style.width="26px";a.setAttribute("src",b);f.style.minWidth="42px";f.style.verticalAlign="middle";f.appendChild(a);x.appendChild(f)}var m=document.createElement("div");mxUtils.write(m,mxResources.get("editLink")+":");var n=document.createElement("div");n.className="geTitle";n.style.backgroundColor="transparent";n.style.borderColor="transparent";n.style.whiteSpace="nowrap";n.style.textOverflow="clip";n.style.cursor="default";mxClient.IS_VML||(n.style.paddingRight="20px");var p=document.createElement("input");
 p.setAttribute("placeholder",mxResources.get("dragUrlsHere"));p.setAttribute("type","text");p.style.marginTop="6px";p.style.width="400px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";var b=document.createElement("div");b.setAttribute("title",mxResources.get("reset"));b.style.position="relative";b.style.left="-16px";b.style.width="12px";b.style.height="14px";b.style.cursor="pointer";
 b.style.display=mxClient.IS_VML?"inline":"inline-block";b.style.top=(mxClient.IS_VML?0:3)+"px";b.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(b,"click",function(){p.value="";p.focus()});var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-bottom:8px;";f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","current-linkdialog");var h=document.createElement("input");h.style.cssText="margin-right:8px;margin-bottom:8px;";
-h.setAttribute("value","url");h.setAttribute("type","radio");h.setAttribute("name","current-linkdialog");var t=document.createElement("select");t.style.width="380px";if(g&&null!=a.pages){null!=e&&a.editor.graph.isPageLink(e)?(h.setAttribute("checked","checked"),h.defaultChecked=!0):(p.setAttribute("value",e),f.setAttribute("checked","checked"),f.defaultChecked=!0);p.style.width="380px";n.appendChild(f);n.appendChild(p);n.appendChild(b);mxUtils.br(n);n.appendChild(h);g=!1;for(b=0;b<a.pages.length;b++){var q=
-document.createElement("option");mxUtils.write(q,a.pages[b].getName()||mxResources.get("pageWithNumber",[b+1]));q.setAttribute("value","data:page/id,"+a.pages[b].getId());e==q.getAttribute("value")&&(q.setAttribute("selected","selected"),g=!0);t.appendChild(q)}if(!g&&h.checked){var u=document.createElement("option");mxUtils.write(u,mxResources.get("pageNotFound"));u.setAttribute("disabled","disabled");u.setAttribute("selected","selected");u.setAttribute("value","pageNotFound");t.appendChild(u);mxEvent.addListener(t,
-"change",function(){null==u.parentNode||u.selected||u.parentNode.removeChild(u)})}n.appendChild(t)}else p.setAttribute("value",e),n.appendChild(p),n.appendChild(b);l.appendChild(n);var w=mxUtils.button(d,function(){a.hideDialog();c(h.checked?"pageNotFound"!==t.value?t.value:e:p.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){h.checked?t.focus():(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
-p.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(t,"focus",function(){f.removeAttribute("checked");h.setAttribute("checked","checked");h.checked=!0});mxEvent.addListener(p,"focus",function(){h.removeAttribute("checked");f.setAttribute("checked","checked");f.checked=!0});if(Graph.fileSupport){var b=l.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.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);0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")&&(p.value=decodeURIComponent(b.dataTransfer.getData("text/uri-list")),f.setAttribute("checked","checked"),f.checked=!0,w.click());b.stopPropagation();b.preventDefault()}),!1)}};var y=document.createElement("div");
-y.style.marginTop="20px";y.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.style.verticalAlign="middle";d.className="geBtn";a.editor.cancelFirst&&y.appendChild(d);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(b){if(b.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=b.docs;var a=b.docs[0].url;"application/mxe"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile"==b.docs[0].mimeType?(a=DriveClient.prototype.oldAppHostname,a=
+h.setAttribute("value","url");h.setAttribute("type","radio");h.setAttribute("name","current-linkdialog");var u=document.createElement("select");u.style.width="380px";if(g&&null!=a.pages){null!=d&&a.editor.graph.isPageLink(d)?(h.setAttribute("checked","checked"),h.defaultChecked=!0):(p.setAttribute("value",d),f.setAttribute("checked","checked"),f.defaultChecked=!0);p.style.width="380px";n.appendChild(f);n.appendChild(p);n.appendChild(b);mxUtils.br(n);n.appendChild(h);g=!1;for(b=0;b<a.pages.length;b++){var q=
+document.createElement("option");mxUtils.write(q,a.pages[b].getName()||mxResources.get("pageWithNumber",[b+1]));q.setAttribute("value","data:page/id,"+a.pages[b].getId());d==q.getAttribute("value")&&(q.setAttribute("selected","selected"),g=!0);u.appendChild(q)}if(!g&&h.checked){var t=document.createElement("option");mxUtils.write(t,mxResources.get("pageNotFound"));t.setAttribute("disabled","disabled");t.setAttribute("selected","selected");t.setAttribute("value","pageNotFound");u.appendChild(t);mxEvent.addListener(u,
+"change",function(){null==t.parentNode||t.selected||t.parentNode.removeChild(t)})}n.appendChild(u)}else p.setAttribute("value",d),n.appendChild(p),n.appendChild(b);m.appendChild(n);var w=mxUtils.button(e,function(){a.hideDialog();c(h.checked?"pageNotFound"!==u.value?u.value:d:p.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){h.checked?u.focus():(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
+p.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(u,"focus",function(){f.removeAttribute("checked");h.setAttribute("checked","checked");h.checked=!0});mxEvent.addListener(p,"focus",function(){h.removeAttribute("checked");f.setAttribute("checked","checked");f.checked=!0});if(Graph.fileSupport){var b=m.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.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);0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")&&(p.value=decodeURIComponent(b.dataTransfer.getData("text/uri-list")),f.setAttribute("checked","checked"),f.checked=!0,w.click());b.stopPropagation();b.preventDefault()}),!1)}};var x=document.createElement("div");
+x.style.marginTop="20px";x.style.textAlign="right";e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.style.verticalAlign="middle";e.className="geBtn";a.editor.cancelFirst&&x.appendChild(e);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(b){if(b.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=b.docs;var a=b.docs[0].url;"application/mxe"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile"==b.docs[0].mimeType?(a=DriveClient.prototype.oldAppHostname,a=
 "https://"+a+"/#G"+b.docs[0].id):"application/mxr"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==b.docs[0].mimeType?(a=DriveClient.prototype.newAppHostname,a="https://"+a+"/#G"+b.docs[0].id):"application/vnd.google-apps.folder"==b.docs[0].mimeType&&(a="https://drive.google.com/#folders/"+b.docs[0].id);p.value=a;p.focus()}else LinkDialog.selectedDocs=null;p.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&k(IMAGE_PATH+"/google-drive-logo.svg",
 mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,f=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),h=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),
 b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(f).addView(c).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
 a.linkPicker=b.setCallback(function(b){LinkDialog.filePicked(b)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&k(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(b){p.value=b[0].link;p.focus()}})});null!=a.oneDrive&&k(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(b,a){p.value=a.value[0].webUrl;
-p.focus()})});null!=a.gitHub&&k(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(b){if(null!=b){b=b.split("/");var a=b[0],f=b[1],c=b[2];b=b.slice(3,b.length).join("/");p.value="https://github.com/"+a+"/"+f+"/blob/"+c+"/"+b;p.focus()}})});mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),c(h.checked?t.value:p.value,LinkDialog.selectedDocs))});y.appendChild(w);a.editor.cancelFirst||y.appendChild(d);l.appendChild(y);this.container=
-l},AboutDialog=function(a){var e=document.createElement("div");e.style.marginTop="6px";e.setAttribute("align","center");var d=document.createElement("img");d.style.border="0px";mxClient.IS_SVG?(d.setAttribute("width","164"),d.setAttribute("height","221"),d.style.width="164px",d.style.height="221px",d.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(d.setAttribute("width","176"),d.setAttribute("height","219"),d.style.width="170px",d.style.height="219px",d.setAttribute("src",IMAGE_PATH+
-"/logo-flat.png"));e.appendChild(d);mxUtils.br(e);d=document.createElement("small");d.innerHTML="v "+EditorUi.VERSION;d.style.color="#505050";e.appendChild(d);mxUtils.br(e);mxUtils.br(e);d=document.createElement("small");d.style.color="#505050";d.innerHTML='&copy; 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';e.appendChild(d);mxEvent.addListener(e,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&a.hideDialog()});this.container=
-e},FeedbackDialog=function(a){var e=document.createElement("div"),d=document.createElement("div");mxUtils.write(d,mxResources.get("sendYourFeedbackToDrawIo"));d.style.fontSize="18px";d.style.marginBottom="18px";e.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");e.appendChild(d);var c=document.createElement("input");c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"),
-function(){var b=(l.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+p.value+b),
+p.focus()})});null!=a.gitHub&&k(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(b){if(null!=b){b=b.split("/");var a=b[0],f=b[1],c=b[2];b=b.slice(3,b.length).join("/");p.value="https://github.com/"+a+"/"+f+"/blob/"+c+"/"+b;p.focus()}})});mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),c(h.checked?u.value:p.value,LinkDialog.selectedDocs))});x.appendChild(w);a.editor.cancelFirst||x.appendChild(e);m.appendChild(x);this.container=
+m},AboutDialog=function(a){var d=document.createElement("div");d.style.marginTop="6px";d.setAttribute("align","center");var e=document.createElement("img");e.style.border="0px";mxClient.IS_SVG?(e.setAttribute("width","164"),e.setAttribute("height","221"),e.style.width="164px",e.style.height="221px",e.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(e.setAttribute("width","176"),e.setAttribute("height","219"),e.style.width="170px",e.style.height="219px",e.setAttribute("src",IMAGE_PATH+
+"/logo-flat.png"));d.appendChild(e);mxUtils.br(d);e=document.createElement("small");e.innerHTML="v "+EditorUi.VERSION;e.style.color="#505050";d.appendChild(e);mxUtils.br(d);mxUtils.br(d);e=document.createElement("small");e.style.color="#505050";e.innerHTML='&copy; 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';d.appendChild(e);mxEvent.addListener(d,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&a.hideDialog()});this.container=
+d},FeedbackDialog=function(a){var d=document.createElement("div"),e=document.createElement("div");mxUtils.write(e,mxResources.get("sendYourFeedbackToDrawIo"));e.style.fontSize="18px";e.style.marginBottom="18px";d.appendChild(e);e=document.createElement("div");mxUtils.write(e,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");d.appendChild(e);var c=document.createElement("input");c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"),
+function(){var b=(m.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+p.value+b),
 function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});g.className="geBtn gePrimaryBtn";g.setAttribute("disabled","disabled");var k=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(c,"change",
-function(){0<c.value.length&&0<k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});e.appendChild(c);this.init=function(){c.focus()};var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;d=document.createElement("p");d.style.marginTop="14px";d.appendChild(l);
-var n=document.createElement("span");mxUtils.write(n," "+mxResources.get("includeCopyOfMyDiagram"));d.appendChild(n);mxEvent.addListener(n,"click",function(b){l.checked=!l.checked;mxEvent.consume(b)});e.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("feedback"));e.appendChild(d);var p=document.createElement("textarea");p.style.resize="none";p.style.width="600px";p.style.height="140px";p.style.marginTop="6px";p.setAttribute("placeholder",mxResources.get("commentsNotes"));
-e.appendChild(p);d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst?(d.appendChild(n),d.appendChild(g)):(d.appendChild(g),d.appendChild(n));e.appendChild(d);this.container=e};FeedbackDialog.maxAttachmentSize=1E6;
-var RevisionDialog=function(a,e,d){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.width="170px";k.style.height="378px";c.appendChild(k);var l=document.createElement("div");l.style.position="absolute";l.style.border="1px solid lightGray";l.style.left="199px";l.style.width="470px";l.style.height=
-"376px";l.style.overflow="hidden";mxEvent.disableContextMenu(l);c.appendChild(l);var n=new Graph(l);n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;var p=0,b=null,f=0,h=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=b&&null!=b[f]?b[f].getAttribute("name"):"pagenumber"==a?f+1:h.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&&
-n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,f){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));var t=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),q=a.getCurrentFile(),u=null,w=null,y=null,x=null,m=mxUtils.button("",function(){null!=y&&n.zoomIn()});m.className="geSprite geSprite-zoomin";m.setAttribute("title",mxResources.get("zoomIn"));
-m.style.outline="none";m.style.border="none";m.style.margin="2px";m.setAttribute("disabled","disabled");mxUtils.setOpacity(m,20);var v=mxUtils.button("",function(){null!=y&&n.zoomOut()});v.className="geSprite geSprite-zoomout";v.setAttribute("title",mxResources.get("zoomOut"));v.style.outline="none";v.style.border="none";v.style.margin="2px";v.setAttribute("disabled","disabled");mxUtils.setOpacity(v,20);var H=mxUtils.button("",function(){null!=y&&(n.maxFitScale=8,n.fit(8),n.center())});H.className=
-"geSprite geSprite-fit";H.setAttribute("title",mxResources.get("fit"));H.style.outline="none";H.style.border="none";H.style.margin="2px";H.setAttribute("disabled","disabled");mxUtils.setOpacity(H,20);var G=mxUtils.button("",function(){null!=y&&(n.zoomActual(),n.center())});G.className="geSprite geSprite-actualsize";G.setAttribute("title",mxResources.get("actualSize"));G.style.outline="none";G.style.border="none";G.style.margin="2px";G.setAttribute("disabled","disabled");mxUtils.setOpacity(G,20);var z=
-document.createElement("div");z.style.position="absolute";z.style.textAlign="right";z.style.color="gray";z.style.marginTop="10px";z.style.backgroundColor="transparent";z.style.top="440px";z.style.right="32px";z.style.maxWidth="380px";z.style.cursor="default";var A=mxUtils.button(mxResources.get("download"),function(){if(null!=y){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,f=mxUtils.getXml(y.documentElement);a.isLocalFileSave()?a.saveLocalFile(f,b,"text/xml"):
-(f="undefined"===typeof pako?"&xml="+encodeURIComponent(f):"&data="+encodeURIComponent(a.editor.graph.compress(f)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+f)).simulate(document,"_blank"))}});A.className="geBtn";A.setAttribute("disabled","disabled");var B=mxUtils.button(mxResources.get("restore"),function(){null!=y&&null!=x&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(x):a.spinner.spin(document.body,mxResources.get("restoring"))&&q.save(!0,function(b){a.spinner.stop();
-a.replaceFileData(x);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});B.className="geBtn";B.setAttribute("disabled","disabled");var D=document.createElement("select");D.setAttribute("disabled","disabled");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";D.style.display="none";var J=null;mxEvent.addListener(D,"change",function(b){null!=
-J&&(J(b),mxEvent.consume(b))});var C=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=y&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(y.documentElement)),window.openWindow(a.getUrl()))});C.className="geBtn";C.setAttribute("disabled","disabled");null!=d&&(C.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=w&&a.openLink(w.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
-"disabled");null!=d&&(L.style.display="none",B.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var E=document.createElement("div");E.className="geToolbarContainer";E.style.backgroundColor="transparent";E.style.padding="2px";E.style.border="none";E.style.left="199px";E.style.top="442px";var F=null;if(null!=e&&0<e.length){l.style.cursor="move";var M=document.createElement("table");M.style.border=
-"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(p=mxUtils.indexOf(a.pages,a.currentPage));for(var N=e.length-1;0<=N;N--){var S=function(c){var h=new Date(c.modifiedDate),d=null;if(0<=h.getTime()){var g=function(c){t.stop();var e=mxUtils.parseXml(c),g=a.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var w=function(b){null!=b&&(b=
-u(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},u=function(b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";l.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return b};D.style.display="none";D.innerHTML="";y=e;x=c;b=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");b=[];for(c=0;c<e.length;c++)b.push(e[c]);
-f=Math.min(p,b.length-1);0<b.length&&w(b[f]);if(1<b.length)for(D.removeAttribute("disabled"),D.style.display="",c=0;c<b.length;c++)e=document.createElement("option"),mxUtils.write(e,b[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==f&&e.setAttribute("selected","selected"),D.appendChild(e);J=function(){f=p=parseInt(D.value);w(b[p])}}else u(g);z.innerHTML="";mxUtils.write(z,h.toLocaleDateString()+" "+h.toLocaleTimeString());z.setAttribute("title",d.getAttribute("title"));
-m.removeAttribute("disabled");v.removeAttribute("disabled");H.removeAttribute("disabled");G.removeAttribute("disabled");null!=q&&q.isRestricted()||(a.editor.graph.isEnabled()&&B.removeAttribute("disabled"),A.removeAttribute("disabled"),L.removeAttribute("disabled"),C.removeAttribute("disabled"));mxUtils.setOpacity(m,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(H,60);mxUtils.setOpacity(G,60)}else D.style.display="none",D.innerHTML="",z.innerHTML="",mxUtils.write(z,mxResources.get("errorLoadingFile"))},
-d=document.createElement("tr");d.style.borderBottom="1px solid lightGray";d.style.fontSize="12px";d.style.cursor="pointer";var k=document.createElement("td");k.style.padding="6px";k.style.whiteSpace="nowrap";c==e[e.length-1]?mxUtils.write(k,mxResources.get("current")):h.toDateString()===Z?mxUtils.write(k,h.toLocaleTimeString()):mxUtils.write(k,h.toLocaleDateString()+" "+h.toLocaleTimeString());d.appendChild(k);d.setAttribute("title",h.toLocaleDateString()+" "+h.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+
-(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(d,"click",function(b){w!=c&&(t.stop(),null!=u&&(u.style.backgroundColor=""),w=c,u=d,u.style.backgroundColor="#ebf2f9",x=y=null,z.removeAttribute("title"),z.innerHTML=mxResources.get("loading")+"...",l.style.backgroundColor="#ffffff",n.getModel().clear(),B.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),m.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),G.setAttribute("disabled",
-"disabled"),H.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(m,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(H,20),mxUtils.setOpacity(G,20),t.spin(l),c.getXml(function(b){w==c&&g(b)},function(b){t.stop();D.style.display="none";D.innerHTML="";z.innerHTML="";mxUtils.write(z,mxResources.get("errorLoadingFile"))}),mxEvent.consume(b))});mxEvent.addListener(d,"dblclick",function(b){L.click();
-window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(b)},!1);X.appendChild(d)}return d}(e[N]);null!=S&&N==e.length-1&&(F=S)}M.appendChild(X);k.appendChild(M)}else null==q||null==a.drive&&q.constructor==window.DriveFile||null==a.dropbox&&q.constructor==window.DropboxFile?(l.style.display="none",E.style.display="none",mxUtils.write(k,mxResources.get("notAvailable"))):(l.style.display="none",E.style.display="none",mxUtils.write(k,
-mxResources.get("noRevisions")));this.init=function(){null!=F&&F.click()};k=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});k.className="geBtn";E.appendChild(D);E.appendChild(m);E.appendChild(v);E.appendChild(G);E.appendChild(H);a.editor.cancelFirst?(g.appendChild(k),g.appendChild(A),g.appendChild(C),g.appendChild(B),g.appendChild(L)):(g.appendChild(A),g.appendChild(C),g.appendChild(B),g.appendChild(L),g.appendChild(k));c.appendChild(g);c.appendChild(E);c.appendChild(z);this.container=
-c},DraftDialog=function(a,e,d,c,g,k,l,n){var p=document.createElement("div"),b=document.createElement("div");b.style.marginTop="0px";b.style.whiteSpace="nowrap";b.style.overflow="auto";mxUtils.write(b,e);p.appendChild(b);var f=document.createElement("div");f.style.position="absolute";f.style.border="1px solid lightGray";f.style.marginTop="10px";f.style.width="640px";f.style.top="46px";f.style.bottom="74px";f.style.overflow="hidden";mxEvent.disableContextMenu(f);p.appendChild(f);var h=new Graph(f);
-h.setEnabled(!1);h.setPanning(!0);h.panningHandler.ignoreCell=!0;h.panningHandler.useLeftButtonForPanning=!0;h.minFitScale=null;h.maxFitScale=null;h.centerZoom=!0;e=mxUtils.parseXml(d);var t=a.editor.extractGraphModel(e.documentElement,!0),q=0,u=null,w=h.getGlobalVariable;h.getGlobalVariable=function(b){return"page"==b&&null!=u&&null!=u[q]?u[q].getAttribute("name"):"pagenumber"==b?q+1:w.apply(this,arguments)};h.getLinkForCell=function(){return null};e=mxUtils.button("",function(){h.zoomIn()});e.className=
-"geSprite geSprite-zoomin";e.setAttribute("title",mxResources.get("zoomIn"));e.style.outline="none";e.style.border="none";e.style.margin="2px";mxUtils.setOpacity(e,60);d=mxUtils.button("",function(){h.zoomOut()});d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);b=mxUtils.button("",function(){h.maxFitScale=8;h.fit(8);h.center()});b.className="geSprite geSprite-fit";b.setAttribute("title",
-mxResources.get("fit"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);var y=mxUtils.button("",function(){h.zoomActual();h.center()});y.className="geSprite geSprite-actualsize";y.setAttribute("title",mxResources.get("actualSize"));y.style.outline="none";y.style.border="none";y.style.margin="2px";mxUtils.setOpacity(y,60);g=mxUtils.button(l||mxResources.get("discard"),g);g.className="geBtn";var x=document.createElement("select");x.style.maxWidth="80px";x.style.position=
-"relative";x.style.top="-2px";x.style.verticalAlign="bottom";x.style.marginRight="6px";x.style.display="none";c=mxUtils.button(k||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.position="absolute";k.style.bottom="30px";k.style.width="640px";k.style.textAlign="right";l=document.createElement("div");l.className="geToolbarContainer";l.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
-this.init=function(){function b(b){if(null!=b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";f.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,h.getModel());h.maxFitScale=1;h.fit(8);h.center()}}function c(f){null!=f&&(f=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(f))).documentElement));return f}mxEvent.addListener(x,"change",function(b){q=parseInt(x.value);c(u[q]);mxEvent.consume(b)});if("mxfile"==t.nodeName){var d=t.getElementsByTagName("diagram");
-u=[];for(var e=0;e<d.length;e++)u.push(d[e]);0<u.length&&c(u[q]);if(1<u.length)for(x.style.display="",e=0;e<u.length;e++)d=document.createElement("option"),mxUtils.write(d,u[e].getAttribute("name")||mxResources.get("pageWithNumber",[e+1])),d.setAttribute("value",e),e==q&&d.setAttribute("selected","selected"),x.appendChild(d)}else b(t)};l.appendChild(x);l.appendChild(e);l.appendChild(d);l.appendChild(y);l.appendChild(b);e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});e.className=
-"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(k.appendChild(e),null!=n&&k.appendChild(n),k.appendChild(g),k.appendChild(c)):(k.appendChild(c),k.appendChild(g),null!=n&&k.appendChild(n),k.appendChild(e));p.appendChild(k);p.appendChild(l);this.container=p},FindWindow=function(a,e,d,c,g){function k(b,a,f){if("object"===typeof a.value&&null!=a.value.attributes){a=a.value.attributes;for(var c=0;c<a.length;c++)if("label"!=a[c].nodeName){var m=
-mxUtils.trim(a[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==b&&m.substring(0,f.length)===f||null!=b&&b.test(m))return!0}}return!1}function l(){var a=p.model.getDescendants(p.model.getRoot()),c=t.value.toLowerCase(),m=q.checked?new RegExp(c):null,h=null;b!=c&&(b=c,f=null);var d=null==f;if(0<c.length)for(var e=0;e<a.length;e++){var g=p.view.getState(a[e]);if(null!=g&&null!=g.cell.value&&(d||null==h)&&(p.model.isVertex(g.cell)||p.model.isEdge(g.cell))&&(p.isHtmlLabel(g.cell)?
-(u.innerHTML=p.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([u])):label=p.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==m&&(label.substring(0,c.length)===c||k(m,g.cell,c))||null!=m&&(m.test(label)||k(m,g.cell,c))))if(d){h=g;break}else null==h&&(h=g);d=d||g==f}null!=h?(f=h,p.scrollCellToVisible(f.cell),p.isEnabled()?p.setSelectionCell(f.cell):p.highlightCell(f.cell)):p.isEnabled()&&p.clearSelection();return 0==c.length||null!=h}
-var n=a.actions.get("find"),p=a.editor.graph,b=null,f=null,h=document.createElement("div");h.style.userSelect="none";h.style.overflow="hidden";h.style.padding="10px";h.style.height="100%";var t=document.createElement("input");t.setAttribute("placeholder",mxResources.get("find"));t.setAttribute("type","text");t.style.marginTop="4px";t.style.marginBottom="6px";t.style.width="200px";t.style.fontSize="12px";t.style.borderRadius="4px";t.style.padding="6px";h.appendChild(t);mxUtils.br(h);var q=document.createElement("input");
-q.setAttribute("type","checkbox");q.style.marginRight="4px";h.appendChild(q);mxUtils.write(h,mxResources.get("regularExpression"));var u=document.createElement("div");mxUtils.br(h);var w=mxUtils.button(mxResources.get("reset"),function(){t.value="";t.style.backgroundColor="";b=f=null;t.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";h.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{t.style.backgroundColor=
-l()?"":"#ffcfcf"}catch(y){a.handleError(y)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";h.appendChild(w);mxEvent.addListener(t,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)n.funct();else if(b!=t.value.toLowerCase()||13==a.keyCode)try{t.style.backgroundColor=l()?"":"#ffcfcf"}catch(x){t.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(h,"keydown",function(b){70==b.keyCode&&
-a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(n.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),h,e,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))},
-TagsWindow=function(a,e,d,c,g){function k(b){b=null!=b?b:n.model.getDescendants(n.model.getRoot());for(var a=f.value.split(" "),c=[],h=0;h<b.length;h++)if(n.model.isVertex(b[h])||n.model.isEdge(b[h])){var d=null!=b[h].value&&"object"==typeof b[h].value?mxUtils.trim(b[h].value.getAttribute(p)||""):"",m=!0;if(0<d.length)for(var d=d.toLowerCase().split(" "),v=0;v<a.length&&m;v++)var e=mxUtils.trim(a[v]).toLowerCase(),m=m&&(0==e.length||0<=mxUtils.indexOf(d,e));else m=0==mxUtils.trim(f.value).length;
-m&&c.push(b[h])}return c}function l(b,a){n.model.beginUpdate();try{for(var f=0;f<b.length;f++)n.model.setVisible(b[f],a)}finally{n.model.endUpdate()}}var n=a.editor.graph,p="tags",b=document.createElement("div");b.style.userSelect="none";b.style.overflow="hidden";b.style.padding="10px";b.style.height="100%";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("allTags"));f.setAttribute("type","text");f.style.marginTop="4px";f.style.width="260px";f.style.fontSize="12px";
+function(){0<c.value.length&&0<k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});d.appendChild(c);this.init=function(){c.focus()};var m=document.createElement("input");m.setAttribute("type","checkbox");m.setAttribute("checked","checked");m.defaultChecked=!0;e=document.createElement("p");e.style.marginTop="14px";e.appendChild(m);
+var n=document.createElement("span");mxUtils.write(n," "+mxResources.get("includeCopyOfMyDiagram"));e.appendChild(n);mxEvent.addListener(n,"click",function(b){m.checked=!m.checked;mxEvent.consume(b)});d.appendChild(e);e=document.createElement("div");mxUtils.write(e,mxResources.get("feedback"));d.appendChild(e);var p=document.createElement("textarea");p.style.resize="none";p.style.width="600px";p.style.height="140px";p.style.marginTop="6px";p.setAttribute("placeholder",mxResources.get("commentsNotes"));
+d.appendChild(p);e=document.createElement("div");e.style.marginTop="26px";e.style.textAlign="right";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst?(e.appendChild(n),e.appendChild(g)):(e.appendChild(g),e.appendChild(n));d.appendChild(e);this.container=d};FeedbackDialog.maxAttachmentSize=1E6;
+var RevisionDialog=function(a,d,e){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.width="170px";k.style.height="378px";c.appendChild(k);var m=document.createElement("div");m.style.position="absolute";m.style.border="1px solid lightGray";m.style.left="199px";m.style.width="470px";m.style.height=
+"376px";m.style.overflow="hidden";mxEvent.disableContextMenu(m);c.appendChild(m);var n=new Graph(m);n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;var p=0,b=null,f=0,h=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=b&&null!=b[f]?b[f].getAttribute("name"):"pagenumber"==a?f+1:h.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&&
+n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,f){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));var u=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),q=a.getCurrentFile(),t=null,w=null,x=null,B=null,l=mxUtils.button("",function(){null!=x&&n.zoomIn()});l.className="geSprite geSprite-zoomin";l.setAttribute("title",mxResources.get("zoomIn"));
+l.style.outline="none";l.style.border="none";l.style.margin="2px";l.setAttribute("disabled","disabled");mxUtils.setOpacity(l,20);var v=mxUtils.button("",function(){null!=x&&n.zoomOut()});v.className="geSprite geSprite-zoomout";v.setAttribute("title",mxResources.get("zoomOut"));v.style.outline="none";v.style.border="none";v.style.margin="2px";v.setAttribute("disabled","disabled");mxUtils.setOpacity(v,20);var G=mxUtils.button("",function(){null!=x&&(n.maxFitScale=8,n.fit(8),n.center())});G.className=
+"geSprite geSprite-fit";G.setAttribute("title",mxResources.get("fit"));G.style.outline="none";G.style.border="none";G.style.margin="2px";G.setAttribute("disabled","disabled");mxUtils.setOpacity(G,20);var F=mxUtils.button("",function(){null!=x&&(n.zoomActual(),n.center())});F.className="geSprite geSprite-actualsize";F.setAttribute("title",mxResources.get("actualSize"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var y=
+document.createElement("div");y.style.position="absolute";y.style.textAlign="right";y.style.color="gray";y.style.marginTop="10px";y.style.backgroundColor="transparent";y.style.top="440px";y.style.right="32px";y.style.maxWidth="380px";y.style.cursor="default";var J=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,f=mxUtils.getXml(x.documentElement);a.isLocalFileSave()?a.saveLocalFile(f,b,"text/xml"):
+(f="undefined"===typeof pako?"&xml="+encodeURIComponent(f):"&data="+encodeURIComponent(a.editor.graph.compress(f)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+f)).simulate(document,"_blank"))}});J.className="geBtn";J.setAttribute("disabled","disabled");var z=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=B&&a.confirm(mxResources.get("areYouSure"),function(){null!=e?e(B):a.spinner.spin(document.body,mxResources.get("restoring"))&&q.save(!0,function(b){a.spinner.stop();
+a.replaceFileData(B);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});z.className="geBtn";z.setAttribute("disabled","disabled");var C=document.createElement("select");C.setAttribute("disabled","disabled");C.style.maxWidth="80px";C.style.position="relative";C.style.top="-2px";C.style.verticalAlign="bottom";C.style.marginRight="6px";C.style.display="none";var H=null;mxEvent.addListener(C,"change",function(b){null!=
+H&&(H(b),mxEvent.consume(b))});var A=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),window.openWindow(a.getUrl()))});A.className="geBtn";A.setAttribute("disabled","disabled");null!=e&&(A.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=w&&a.openLink(w.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
+"disabled");null!=e&&(L.style.display="none",z.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var D=document.createElement("div");D.className="geToolbarContainer";D.style.backgroundColor="transparent";D.style.padding="2px";D.style.border="none";D.style.left="199px";D.style.top="442px";var E=null;if(null!=d&&0<d.length){m.style.cursor="move";var M=document.createElement("table");M.style.border=
+"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(p=mxUtils.indexOf(a.pages,a.currentPage));for(var N=d.length-1;0<=N;N--){var S=function(c){var h=new Date(c.modifiedDate),e=null;if(0<=h.getTime()){var g=function(c){u.stop();var d=mxUtils.parseXml(c),g=a.editor.extractGraphModel(d.documentElement,!0);if(null!=g){var t=function(b){null!=b&&(b=
+w(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},w=function(b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";m.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return b};C.style.display="none";C.innerHTML="";x=d;B=c;b=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){d=g.getElementsByTagName("diagram");b=[];for(c=0;c<d.length;c++)b.push(d[c]);
+f=Math.min(p,b.length-1);0<b.length&&t(b[f]);if(1<b.length)for(C.removeAttribute("disabled"),C.style.display="",c=0;c<b.length;c++)d=document.createElement("option"),mxUtils.write(d,b[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),d.setAttribute("value",c),c==f&&d.setAttribute("selected","selected"),C.appendChild(d);H=function(){f=p=parseInt(C.value);t(b[p])}}else w(g);y.innerHTML="";mxUtils.write(y,h.toLocaleDateString()+" "+h.toLocaleTimeString());y.setAttribute("title",e.getAttribute("title"));
+l.removeAttribute("disabled");v.removeAttribute("disabled");G.removeAttribute("disabled");F.removeAttribute("disabled");null!=q&&q.isRestricted()||(a.editor.graph.isEnabled()&&z.removeAttribute("disabled"),J.removeAttribute("disabled"),L.removeAttribute("disabled"),A.removeAttribute("disabled"));mxUtils.setOpacity(l,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(G,60);mxUtils.setOpacity(F,60)}else C.style.display="none",C.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))},
+e=document.createElement("tr");e.style.borderBottom="1px solid lightGray";e.style.fontSize="12px";e.style.cursor="pointer";var k=document.createElement("td");k.style.padding="6px";k.style.whiteSpace="nowrap";c==d[d.length-1]?mxUtils.write(k,mxResources.get("current")):h.toDateString()===Z?mxUtils.write(k,h.toLocaleTimeString()):mxUtils.write(k,h.toLocaleDateString()+" "+h.toLocaleTimeString());e.appendChild(k);e.setAttribute("title",h.toLocaleDateString()+" "+h.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+
+(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(b){w!=c&&(u.stop(),null!=t&&(t.style.backgroundColor=""),w=c,t=e,t.style.backgroundColor="#ebf2f9",B=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",m.style.backgroundColor="#ffffff",n.getModel().clear(),z.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),l.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),F.setAttribute("disabled",
+"disabled"),G.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),mxUtils.setOpacity(l,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(G,20),mxUtils.setOpacity(F,20),u.spin(m),c.getXml(function(b){w==c&&g(b)},function(b){u.stop();C.style.display="none";C.innerHTML="";y.innerHTML="";mxUtils.write(y,mxResources.get("errorLoadingFile"))}),mxEvent.consume(b))});mxEvent.addListener(e,"dblclick",function(b){L.click();
+window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(b)},!1);X.appendChild(e)}return e}(d[N]);null!=S&&N==d.length-1&&(E=S)}M.appendChild(X);k.appendChild(M)}else null==q||null==a.drive&&q.constructor==window.DriveFile||null==a.dropbox&&q.constructor==window.DropboxFile?(m.style.display="none",D.style.display="none",mxUtils.write(k,mxResources.get("notAvailable"))):(m.style.display="none",D.style.display="none",mxUtils.write(k,
+mxResources.get("noRevisions")));this.init=function(){null!=E&&E.click()};k=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});k.className="geBtn";D.appendChild(C);D.appendChild(l);D.appendChild(v);D.appendChild(F);D.appendChild(G);a.editor.cancelFirst?(g.appendChild(k),g.appendChild(J),g.appendChild(A),g.appendChild(z),g.appendChild(L)):(g.appendChild(J),g.appendChild(A),g.appendChild(z),g.appendChild(L),g.appendChild(k));c.appendChild(g);c.appendChild(D);c.appendChild(y);this.container=
+c},DraftDialog=function(a,d,e,c,g,k,m,n){var p=document.createElement("div"),b=document.createElement("div");b.style.marginTop="0px";b.style.whiteSpace="nowrap";b.style.overflow="auto";mxUtils.write(b,d);p.appendChild(b);var f=document.createElement("div");f.style.position="absolute";f.style.border="1px solid lightGray";f.style.marginTop="10px";f.style.width="640px";f.style.top="46px";f.style.bottom="74px";f.style.overflow="hidden";mxEvent.disableContextMenu(f);p.appendChild(f);var h=new Graph(f);
+h.setEnabled(!1);h.setPanning(!0);h.panningHandler.ignoreCell=!0;h.panningHandler.useLeftButtonForPanning=!0;h.minFitScale=null;h.maxFitScale=null;h.centerZoom=!0;d=mxUtils.parseXml(e);var u=a.editor.extractGraphModel(d.documentElement,!0),q=0,t=null,w=h.getGlobalVariable;h.getGlobalVariable=function(b){return"page"==b&&null!=t&&null!=t[q]?t[q].getAttribute("name"):"pagenumber"==b?q+1:w.apply(this,arguments)};h.getLinkForCell=function(){return null};d=mxUtils.button("",function(){h.zoomIn()});d.className=
+"geSprite geSprite-zoomin";d.setAttribute("title",mxResources.get("zoomIn"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);e=mxUtils.button("",function(){h.zoomOut()});e.className="geSprite geSprite-zoomout";e.setAttribute("title",mxResources.get("zoomOut"));e.style.outline="none";e.style.border="none";e.style.margin="2px";mxUtils.setOpacity(e,60);b=mxUtils.button("",function(){h.maxFitScale=8;h.fit(8);h.center()});b.className="geSprite geSprite-fit";b.setAttribute("title",
+mxResources.get("fit"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);var x=mxUtils.button("",function(){h.zoomActual();h.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);g=mxUtils.button(m||mxResources.get("discard"),g);g.className="geBtn";var B=document.createElement("select");B.style.maxWidth="80px";B.style.position=
+"relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";c=mxUtils.button(k||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.position="absolute";k.style.bottom="30px";k.style.width="640px";k.style.textAlign="right";m=document.createElement("div");m.className="geToolbarContainer";m.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
+this.init=function(){function b(b){if(null!=b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";f.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,h.getModel());h.maxFitScale=1;h.fit(8);h.center()}}function c(f){null!=f&&(f=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(f))).documentElement));return f}mxEvent.addListener(B,"change",function(b){q=parseInt(B.value);c(t[q]);mxEvent.consume(b)});if("mxfile"==u.nodeName){var e=u.getElementsByTagName("diagram");
+t=[];for(var d=0;d<e.length;d++)t.push(e[d]);0<t.length&&c(t[q]);if(1<t.length)for(B.style.display="",d=0;d<t.length;d++)e=document.createElement("option"),mxUtils.write(e,t[d].getAttribute("name")||mxResources.get("pageWithNumber",[d+1])),e.setAttribute("value",d),d==q&&e.setAttribute("selected","selected"),B.appendChild(e)}else b(u)};m.appendChild(B);m.appendChild(d);m.appendChild(e);m.appendChild(x);m.appendChild(b);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.className=
+"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(k.appendChild(d),null!=n&&k.appendChild(n),k.appendChild(g),k.appendChild(c)):(k.appendChild(c),k.appendChild(g),null!=n&&k.appendChild(n),k.appendChild(d));p.appendChild(k);p.appendChild(m);this.container=p},FindWindow=function(a,d,e,c,g){function k(b,a,f){if("object"===typeof a.value&&null!=a.value.attributes){a=a.value.attributes;for(var c=0;c<a.length;c++)if("label"!=a[c].nodeName){var l=
+mxUtils.trim(a[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==b&&l.substring(0,f.length)===f||null!=b&&b.test(l))return!0}}return!1}function m(){var a=p.model.getDescendants(p.model.getRoot()),c=u.value.toLowerCase(),l=q.checked?new RegExp(c):null,h=null;b!=c&&(b=c,f=null);var e=null==f;if(0<c.length)for(var d=0;d<a.length;d++){var g=p.view.getState(a[d]);if(null!=g&&null!=g.cell.value&&(e||null==h)&&(p.model.isVertex(g.cell)||p.model.isEdge(g.cell))&&(p.isHtmlLabel(g.cell)?
+(t.innerHTML=p.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([t])):label=p.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==l&&(label.substring(0,c.length)===c||k(l,g.cell,c))||null!=l&&(l.test(label)||k(l,g.cell,c))))if(e){h=g;break}else null==h&&(h=g);e=e||g==f}null!=h?(f=h,p.scrollCellToVisible(f.cell),p.isEnabled()?p.setSelectionCell(f.cell):p.highlightCell(f.cell)):p.isEnabled()&&p.clearSelection();return 0==c.length||null!=h}
+var n=a.actions.get("find"),p=a.editor.graph,b=null,f=null,h=document.createElement("div");h.style.userSelect="none";h.style.overflow="hidden";h.style.padding="10px";h.style.height="100%";var u=document.createElement("input");u.setAttribute("placeholder",mxResources.get("find"));u.setAttribute("type","text");u.style.marginTop="4px";u.style.marginBottom="6px";u.style.width="200px";u.style.fontSize="12px";u.style.borderRadius="4px";u.style.padding="6px";h.appendChild(u);mxUtils.br(h);var q=document.createElement("input");
+q.setAttribute("type","checkbox");q.style.marginRight="4px";h.appendChild(q);mxUtils.write(h,mxResources.get("regularExpression"));var t=document.createElement("div");mxUtils.br(h);var w=mxUtils.button(mxResources.get("reset"),function(){u.value="";u.style.backgroundColor="";b=f=null;u.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";h.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{u.style.backgroundColor=
+m()?"":"#ffcfcf"}catch(x){a.handleError(x)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";h.appendChild(w);mxEvent.addListener(u,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)n.funct();else if(b!=u.value.toLowerCase()||13==a.keyCode)try{u.style.backgroundColor=m()?"":"#ffcfcf"}catch(B){u.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(h,"keydown",function(b){70==b.keyCode&&
+a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(n.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),h,d,e,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))},
+TagsWindow=function(a,d,e,c,g){function k(b){b=null!=b?b:n.model.getDescendants(n.model.getRoot());for(var a=f.value.split(" "),c=[],h=0;h<b.length;h++)if(n.model.isVertex(b[h])||n.model.isEdge(b[h])){var e=null!=b[h].value&&"object"==typeof b[h].value?mxUtils.trim(b[h].value.getAttribute(p)||""):"",l=!0;if(0<e.length)for(var e=e.toLowerCase().split(" "),v=0;v<a.length&&l;v++)var d=mxUtils.trim(a[v]).toLowerCase(),l=l&&(0==d.length||0<=mxUtils.indexOf(e,d));else l=0==mxUtils.trim(f.value).length;
+l&&c.push(b[h])}return c}function m(b,a){n.model.beginUpdate();try{for(var f=0;f<b.length;f++)n.model.setVisible(b[f],a)}finally{n.model.endUpdate()}}var n=a.editor.graph,p="tags",b=document.createElement("div");b.style.userSelect="none";b.style.overflow="hidden";b.style.padding="10px";b.style.height="100%";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("allTags"));f.setAttribute("type","text");f.style.marginTop="4px";f.style.width="260px";f.style.fontSize="12px";
 f.style.borderRadius="4px";f.style.padding="6px";b.appendChild(f);if(!a.isOffline()||mxClient.IS_CHROMEAPP){f.style.width="240px";var h=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");h.firstChild.style.marginBottom="6px";h.style.marginLeft="6px";b.appendChild(h)}mxEvent.addListener(f,"dblclick",function(){var b=new FilenameDialog(a,p,mxResources.get("ok"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&(p=b)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,
-300,80,!0,!0);b.init()});f.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(b);h=mxUtils.button(mxResources.get("hide"),function(){l(k(),!1)});h.setAttribute("title",mxResources.get("hide"));h.style.marginTop="8px";h.style.marginRight="4px";h.className="geBtn";b.appendChild(h);h=mxUtils.button(mxResources.get("show"),function(){var b=k();l(b,!0);n.isEnabled()&&n.setSelectionCells(b)});h.setAttribute("title",mxResources.get("show"));h.style.marginTop="8px";h.style.marginRight=
-"4px";h.className="geBtn";b.appendChild(h);var t=a.actions.get("tags"),h=mxUtils.button(mxResources.get("close"),function(){t.funct()});h.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");h.style.marginTop="8px";h.className="geBtn gePrimaryBtn";b.appendChild(h);mxEvent.addListener(f,"keyup",function(b){13!=b.keyCode&&27!=b.keyCode||t.funct()});this.window=new mxWindow(mxResources.get("tags"),b,e,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
-this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(f.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)):n.container.focus()}))},AuthDialog=function(a,e,d,c){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,
-mxResources.get("authorizationRequired"));var l="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";e==a.drive?(l=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):e==a.dropbox?(l=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):e==a.oneDrive?(l=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):e==a.gitHub?(l=mxResources.get("github"),n.src=IMAGE_PATH+
-"/github-logo-white.svg"):e==a.trello&&(l=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[l]));var p=document.createElement("input");p.setAttribute("type","checkbox");l=mxUtils.button(mxResources.get("authorize"),function(){c(p.checked)});l.insertBefore(n,l.firstChild);l.style.marginTop="6px";l.className="geBigButton";g.appendChild(k);g.appendChild(a);g.appendChild(l);d&&(d=document.createElement("p"),
-d.style.marginTop="20px",d.appendChild(p),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberMe")),d.appendChild(k),g.appendChild(d),p.checked=!0,p.defaultChecked=!0,mxEvent.addListener(k,"click",function(b){p.checked=!p.checked;mxEvent.consume(b)}));this.container=g},MoreShapesDialog=function(a,e,d){d=null!=d?d:a.sidebar.entries;var c=document.createElement("div");if(e){e=document.createElement("div");e.className="geDialogTitle";mxUtils.write(e,mxResources.get("shapes"));
-e.style.position="absolute";e.style.top="0px";e.style.left="0px";e.style.lineHeight="40px";e.style.height="40px";e.style.right="0px";mxClient.IS_QUIRKS&&(e.style.width="718px");var g=document.createElement("div"),k=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");k.style.position="absolute";k.style.left="202px";k.style.right=
-"0px";k.style.top="40px";k.style.bottom="60px";k.style.overflow="auto";k.style.borderLeft="1px solid rgb(211, 211, 211)";k.style.textAlign="center";mxClient.IS_QUIRKS&&(k.style.width=parseInt(e.style.width)-202+"px",k.style.height=g.style.height,k.style.marginTop=g.style.marginTop);var l=null,n=[],p=document.createElement("div");p.style.position="relative";p.style.left="0px";p.style.right="0px";for(var b=0;b<d.length;b++)(function(f){var c=p.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor=
-"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,f.title);g.appendChild(c);for(var m=0;m<f.entries.length;m++)(function(f){var c=p.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.checked=a.sidebar.isEntryVisible(f.id);h.defaultChecked=h.checked;c.appendChild(h);mxUtils.write(c," "+f.title);g.appendChild(c);var d=function(b){if(null==b||"INPUT"!=mxEvent.getSource(b).nodeName)null!=
-f.imageCallback?f.imageCallback(k):null!=f.image?k.innerHTML='<img border="0" src="'+f.image+'"/>':(k.innerHTML="<br>",mxUtils.write(k,mxResources.get("noPreview"))),null!=l&&(l.style.backgroundColor=""),l=c,l.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=b&&mxEvent.consume(b)};mxEvent.addListener(c,"click",d);mxEvent.addListener(c,"dblclick",function(b){h.checked=!h.checked;mxEvent.consume(b)});n.push(function(){return h.checked?f.id:null});0==b&&0==m&&d()})(f.entries[m])})(d[b]);
-c.style.padding="30px";c.appendChild(e);c.appendChild(g);c.appendChild(k);d=document.createElement("div");d.className="geDialogFooter";d.style.position="absolute";d.style.paddingRight="16px";d.style.color="gray";d.style.left="0px";d.style.right="0px";d.style.bottom="0px";d.style.height="60px";d.style.lineHeight="52px";mxClient.IS_QUIRKS&&(d.style.width=e.style.width,d.style.paddingTop="12px");var f=document.createElement("input");f.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)e=
-document.createElement("span"),e.style.paddingRight="20px",e.appendChild(f),mxUtils.write(e," "+mxResources.get("rememberThisSetting")),f.checked=!0,f.defaultChecked=!0,mxEvent.addListener(e,"click",function(b){mxEvent.getSource(b)!=f&&(f.checked=!f.checked,mxEvent.consume(b))}),mxClient.IS_QUIRKS&&(e.style.position="relative",e.style.top="-6px"),d.appendChild(e);e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var h=mxUtils.button(mxResources.get("apply"),
-function(){a.hideDialog();for(var b=[],c=0;c<n.length;c++){var h=n[c].apply(this,arguments);null!=h&&b.push(h)}a.sidebar.showEntries(b.join(";"),f.checked,!0)});h.className="geBtn gePrimaryBtn"}else{var t=document.createElement("table"),q=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var u=document.createElement("tr");t.style.width="100%";e=document.createElement("td");var h=document.createElement("td"),w=document.createElement("td"),y=mxUtils.bind(this,function(b,
-f,c){var h=document.createElement("input");h.type="checkbox";t.appendChild(h);h.checked=a.sidebar.isEntryVisible(c);var m=document.createElement("span");mxUtils.write(m,f);f=document.createElement("div");f.style.display="block";f.appendChild(h);f.appendChild(m);mxEvent.addListener(m,"click",function(b){h.checked=!h.checked;mxEvent.consume(b)});b.appendChild(f);return function(){return h.checked?c:null}});u.appendChild(e);u.appendChild(h);u.appendChild(w);q.appendChild(u);t.appendChild(q);for(var n=
-[],x=0,b=0;b<d.length;b++)for(q=0;q<d[b].entries.length;q++)x++;for(var m=[e,h,w],v=0,b=0;b<d.length;b++)(function(b){for(var a=0;a<b.entries.length;a++){var f=b.entries[a];n.push(y(m[Math.floor(v/(x/3))],f.title,f.id));v++}})(d[b]);c.appendChild(t);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";f=document.createElement("input");isLocalStorage&&(f.setAttribute("type","checkbox"),f.checked=!0,f.defaultChecked=!0,d.appendChild(f),e=document.createElement("span"),
-mxUtils.write(e," "+mxResources.get("rememberThisSetting")),d.appendChild(e),mxEvent.addListener(e,"click",function(b){f.checked=!f.checked;mxEvent.consume(b)}));c.appendChild(d);e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";h=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<n.length;c++){var h=n[c].apply(this,arguments);null!=h&&b.push(h)}a.sidebar.showEntries(0<b.length?b.join(";"):"",f.checked);a.hideDialog()});h.className=
-"geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right"}a.editor.cancelFirst?(d.appendChild(e),d.appendChild(h)):(d.appendChild(h),d.appendChild(e));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],c=App.pluginRegistry[a];null!=c&&(a=c);0<a.length&&0>mxUtils.indexOf(g,a)&&g.push(a)}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 n=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});n.className="geBtn gePrimaryBtn";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
-p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");var b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(l),b.appendChild(p),b.appendChild(k),b.appendChild(n)):(b.appendChild(p),b.appendChild(k),b.appendChild(n),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"),n=document.createElement("td");n.style.whiteSpace="nowrap";n.setAttribute("colspan","2");mxUtils.write(n,mxResources.get("loading")+"...");l.appendChild(n);k.appendChild(l);var l=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(p,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);l.appendChild(p);l.appendChild(b);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value="0";b.appendChild(h);l.appendChild(p);l.appendChild(b);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("right")+
-":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value="0";b.appendChild(t);l.appendChild(p);l.appendChild(b);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("bottom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";b.appendChild(q);l.appendChild(p);l.appendChild(b);k.appendChild(l);l=document.createElement("tr");
-p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("circle")+":");l.appendChild(p);var u=document.createElement("input");u.setAttribute("type","checkbox");b.appendChild(u);l.appendChild(b);k.appendChild(l);g.appendChild(k);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=new Image,y=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),v=w.width,
-e=w.height,g=parseInt(f.value),y=parseInt(h.value),v=Math.max(1,v-g-parseInt(t.value)),e=Math.max(1,e-y-parseInt(q.value));b.width=v;b.height=e;u.checked&&(c.fillStyle="#000000",c.arc(v/2,e/2,Math.min(v/2,e/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,y,v,e,0,0,v,e);d(b.toDataURL())});y.setAttribute("disabled","disabled");w.onload=function(){y.removeAttribute("disabled");n.innerHTML="";mxUtils.write(n,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+
-": "+w.height)};w.src=e;mxEvent.addListener(c,"keypress",function(b){13==b.keyCode&&y.click()});e=document.createElement("div");e.style.marginTop="20px";e.style.textAlign="right";a.editor.cancelFirst?(e.appendChild(g),e.appendChild(y)):(e.appendChild(y),e.appendChild(g));c.appendChild(e);this.container=c},EditGeometryDialog=function(a,e){var d=a.editor.graph,c=1==e.length?d.getCellGeometry(e[0]):null,g=document.createElement("div"),k=document.createElement("table"),l=document.createElement("tbody"),
-n=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");k.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var f=document.createElement("input");f.setAttribute("type","text");f.style.width="100px";f.value=null!=c?c.x:"";this.init=function(){f.focus();f.select()};b.appendChild(f);n.appendChild(p);n.appendChild(b);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+
-":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value=null!=c?c.y:"";b.appendChild(h);n.appendChild(p);n.appendChild(b);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("width")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=c?c.width:"";b.appendChild(t);n.appendChild(p);n.appendChild(b);l.appendChild(n);
-n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("height")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c?c.height:"";b.appendChild(q);n.appendChild(p);n.appendChild(b);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("rotation")+":");var u=document.createElement("input");
-u.setAttribute("type","text");u.style.width="100px";u.value=1==e.length?mxUtils.getValue(d.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";b.appendChild(u);n.appendChild(p);n.appendChild(b);l.appendChild(n);k.appendChild(l);g.appendChild(k);var c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.getModel().beginUpdate();try{for(var b=0;b<e.length;b++){var c=d.getCellGeometry(e[b]);null!=c&&(c=c.clone(),d.isCellMovable(e[b])&&
-(0<mxUtils.trim(f.value).length&&(c.x=Number(f.value)),0<mxUtils.trim(h.value).length&&(c.y=Number(h.value))),d.isCellResizable(e[b])&&(0<mxUtils.trim(t.value).length&&(c.width=Number(t.value)),0<mxUtils.trim(q.value).length&&(c.height=Number(q.value))),d.getModel().setGeometry(e[b],c));0<mxUtils.trim(u.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(u.value),[e[b]])}}finally{d.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&w.click()});k=document.createElement("div");
-k.style.marginTop="20px";k.style.textAlign="right";a.editor.cancelFirst?(k.appendChild(c),k.appendChild(w)):(k.appendChild(w),k.appendChild(c));g.appendChild(k);this.container=g},LibraryDialog=function(a,e,d,c,g,k){function l(b){for(b=document.elementFromPoint(b.clientX,b.clientY);null!=b&&b.parentNode!=q;)b=b.parentNode;var a=null;if(null!=b)for(var c=q.firstChild,a=0;null!=c&&c!=b;)c=c.nextSibling,a++;return a}function n(b,c,h,d,e,g,t,x,k){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&
-null!=t||null==w[b]){var G=function(){F.innerHTML="";F.style.cursor="pointer";F.style.whiteSpace="nowrap";F.style.textOverflow="ellipsis";mxUtils.write(F,null!=D.title&&0<D.title.length?D.title:mxResources.get("untitled"));F.style.color=null==D.title||0==D.title.length?"#d0d0d0":""};q.style.backgroundImage="";u.style.display="none";var C=e,A=g;if(e>a.maxImageSize||g>a.maxImageSize){var z=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,g));e*=z;g*=z}C>A?(A=Math.round(100*
-A/C),C=100):(C=Math.round(100*C/A),A=100);var p=document.createElement("div");p.setAttribute("draggable","true");p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.style.position="relative";p.style.cursor="move";mxUtils.setPrefixedStyle(p.style,"transition","transform .1s ease-in-out");if(null!=b){var B=document.createElement("img");B.setAttribute("src",v.convert(b));B.style.width=C+"px";B.style.height=A+"px";B.style.margin="10px";B.style.paddingBottom=Math.floor((100-A)/2)+"px";B.style.paddingLeft=
-Math.floor((100-C)/2)+"px";p.appendChild(B)}else if(null!=t){var E=a.stringToCells(a.editor.graph.decompress(t.xml));0<E.length&&(a.sidebar.createThumb(E,100,100,p,null,!0,!1),p.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",p.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
-"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(b){mxEvent.consume(b)});(function(b,a,c){mxEvent.addListener(L,"click",function(h){w[a]=null;for(var m=0;m<f.length;m++)if(null!=f[m].data&&f[m].data==a||null!=f[m].xml&&null!=c&&f[m].xml==c.xml){f.splice(m,1);break}p.parentNode.removeChild(b);0==f.length&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",u.style.display="");mxEvent.consume(h)});mxEvent.addListener(L,
-"dblclick",function(b){mxEvent.consume(b)})})(p,b,t);p.appendChild(L);p.style.marginBottom="30px";var F=document.createElement("div");F.style.position="absolute";F.style.boxSizing="border-box";F.style.bottom="-18px";F.style.left="10px";F.style.right="10px";F.style.backgroundColor="#ffffff";F.style.overflow="hidden";F.style.textAlign="center";var D=null;null!=b?(D={data:b,w:e,h:g,title:k},null!=x&&(D.aspect=x),w[b]=B,f.push(D)):null!=t&&(t.aspect="fixed",f.push(t),D=t);mxEvent.addListener(F,"keydown",
-function(b){13==b.keyCode&&null!=m&&(m(),m=null,mxEvent.consume(b))});G();p.appendChild(F);mxEvent.addListener(F,"mousedown",function(b){"true"!=F.getAttribute("contentEditable")&&mxEvent.consume(b)});E=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,D.title||"",mxResources.get("ok"),function(b){null!=b&&(D.title=b,G())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
-mxEvent.consume(b)}else if("true"!=F.getAttribute("contentEditable")){null!=m&&(m(),m=null);if(null==D.title||0==D.title.length)F.innerHTML="";F.style.textOverflow="";F.style.whiteSpace="";F.style.cursor="text";F.style.color="";F.setAttribute("contentEditable","true");F.focus();document.execCommand("selectAll",!1,null);m=function(){F.removeAttribute("contentEditable");F.style.cursor="pointer";D.title=F.innerHTML;G()};mxEvent.consume(b)}};mxEvent.addListener(F,"click",E);mxEvent.addListener(p,"dblclick",
-E);q.appendChild(p);mxEvent.addListener(p,"dragstart",function(a){null==b&&null!=t&&(L.style.visibility="hidden",F.style.visibility="hidden");mxClient.IS_FF&&null!=t.xml&&a.dataTransfer.setData("Text",t.xml);y=l(a);mxClient.IS_GC&&(p.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(p.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(p,30);L.style.visibility="";F.style.visibility=""},0)});mxEvent.addListener(p,"dragend",function(b){"hidden"==L.style.visibility&&(L.style.visibility=
-"",F.style.visibility="");y=null;mxUtils.setOpacity(p,100);mxUtils.setPrefixedStyle(p.style,"transform",null)})}else H||(H=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),C=mxUtils.parseXml(b),"mxlibrary"==C.documentElement.nodeName){A=JSON.parse(mxUtils.getTextContent(C.documentElement));if(null!=A&&0<A.length)for(var J=0;J<A.length;J++)null!=A[J].xml?n(null,null,0,0,0,0,A[J]):n(A[J].data,null,0,0,A[J].w,A[J].h,null,"fixed",A[J].title);e=!0}else if("mxfile"==
-C.documentElement.nodeName){for(var M=C.documentElement.getElementsByTagName("diagram"),J=0;J<M.length;J++){var A=mxUtils.getTextContent(M[J]),E=a.stringToCells(a.editor.graph.decompress(A)),P=a.editor.graph.getBoundingBoxFromGeometry(E);n(null,null,0,0,0,0,{xml:A,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function p(b){b.dataTransfer.dropEffect=null!=y?"move":"copy";b.stopPropagation();b.preventDefault()}
-function b(b){b.stopPropagation();b.preventDefault();H=!1;x=l(b);if(null!=y)null!=x&&x<q.children.length?(f.splice(x>y?x-1:x,0,f.splice(y,1)[0]),q.insertBefore(q.children[y],q.children[x])):(f.push(f.splice(y,1)[0]),q.appendChild(q.children[y]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,G(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
-/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(b){n(c,null,0,0,b.width,b.height);q.scrollTop=q.scrollHeight})}b.stopPropagation();b.preventDefault()}var f=[];d=document.createElement("div");d.style.height="100%";var h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.height="40px";d.appendChild(h);mxUtils.write(h,mxResources.get("filename")+":");null==e&&(e=a.defaultLibraryName+".xml");var t=document.createElement("input");t.setAttribute("value",
-e);t.style.marginRight="20px";t.style.marginLeft="10px";t.style.width="500px";null==g||g.isRenamable()||t.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};h.appendChild(t);var q=document.createElement("div");q.style.borderWidth="1px 0px 1px 0px";q.style.borderColor="#d3d3d3";q.style.borderStyle="solid";q.style.marginTop="6px";
-q.style.overflow="auto";q.style.height="340px";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";0==f.length&&Graph.fileSupport&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var u=document.createElement("div");u.style.position="absolute";u.style.width="640px";u.style.top="260px";u.style.textAlign="center";u.style.fontSize="22px";u.style.color="#a0c3ff";mxUtils.write(u,mxResources.get("dragImagesHere"));d.appendChild(u);var w={},y=null,x=null,m=null;
-e=function(b){"true"!=mxEvent.getSource(b).getAttribute("contentEditable")&&null!=m&&(m(),m=null,mxEvent.consume(b))};mxEvent.addListener(q,"mousedown",e);mxEvent.addListener(q,"pointerdown",e);mxEvent.addListener(q,"touchstart",e);var v=new mxUrlConverter,H=!1;if(null!=c)for(e=0;e<c.length;e++)h=c[e],n(h.data,null,0,0,h.w,h.h,h,h.aspect,h.title);mxEvent.addListener(q,"dragleave",function(b){u.style.cursor="";for(var a=mxEvent.getSource(b);null!=a;){if(a==q||a==u){b.stopPropagation();b.preventDefault();
-break}a=a.parentNode}});var G=function(b){return function(c,f,h,m,d,e,v,g,t){null!=t&&(/(\.vsdx)($|\?)/i.test(t.name)||/(\.vssx)($|\?)/i.test(t.name))?a.importVisio(t,mxUtils.bind(this,function(c){a.spinner.stop();n(c,f,h,m,d,e,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," "))})):null!=t&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,t.name)?a.parseFile(t,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=
-c.status&&(n(c.responseText,f,h,m,d,e,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight))})):(n(c,f,h,m,d,e,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight)}};mxEvent.addListener(q,"dragover",p);mxEvent.addListener(q,"drop",b);mxEvent.addListener(u,"dragover",p);mxEvent.addListener(u,"drop",b);d.appendChild(q);c=document.createElement("div");c.style.textAlign="right";
-c.style.marginTop="20px";e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});e.setAttribute("id","btnCancel");e.className="geBtn";a.editor.cancelFirst&&c.appendChild(e);h=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(f),c=t.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document,
-"_blank")});h.setAttribute("id","btnDownload");h.className="geBtn";c.appendChild(h);var z=document.createElement("input");z.setAttribute("multiple","multiple");z.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(z,"change",function(b){H=!1;a.importFiles(z.files,0,0,a.maxImageSize,function(a,c,f,h,m,d,e,v,g){G(b)(a,c,f,h,m,d,e,v,g);z.value=""});q.scrollTop=q.scrollHeight}),h=mxUtils.button(mxResources.get("import"),function(){null!=m&&(m(),m=null);z.click()}),h.setAttribute("id",
-"btnAddImage"),h.className="geBtn",c.appendChild(h));h=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=m&&(m(),m=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(b,a,c){H=!1;if(null!=b){if("data:image/"==b.substring(0,11)){var f=b.indexOf(",");0<f&&(b=b.substring(0,f)+";base64,"+b.substring(f+1))}n(b,null,0,0,a,c);q.scrollTop=q.scrollHeight}})});h.setAttribute("id","btnAddImageUrl");h.className="geBtn";c.appendChild(h);this.saveBtnClickHandler=function(b,c,f,h){a.saveLibrary(b,
-c,f,h)};h=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=m&&(m(),m=null);this.saveBtnClickHandler(t.value,f,g,k)}));h.setAttribute("id","btnSave");h.className="geBtn gePrimaryBtn";c.appendChild(h);a.editor.cancelFirst||c.appendChild(e);d.appendChild(c);this.container=d},EditShapeDialog=function(a,e,d,c,g){c=null!=c?c:300;g=null!=g?g:120;var k,l,n=document.createElement("table"),p=document.createElement("tbody");n.style.cellPadding="4px";k=document.createElement("tr");l=
-document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";mxUtils.write(l,d);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");var b=document.createElement("textarea");b.style.outline="none";b.style.resize="none";b.style.width=c-200+"px";b.style.height=g+"px";this.textarea=b;this.init=function(){b.focus();b.scrollTop=0};l.appendChild(b);k.appendChild(l);l=document.createElement("td");d=document.createElement("div");d.style.position=
-"relative";d.style.border="1px solid gray";d.style.top="6px";d.style.width="200px";d.style.height=g+4+"px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);l.appendChild(d);var f=new Graph(d);f.setEnabled(!1);var h=a.editor.graph.cloneCells([e])[0];f.addCells([h]);d=f.view.getState(h);var t="";null!=d.shape&&null!=d.shape.stencil&&(t=mxUtils.getPrettyXml(d.shape.stencil.desc));mxUtils.write(b,t||"");d=f.getGraphBounds();g=Math.min(160/d.width,(g-40)/d.height);f.view.scaleAndTranslate(g,
-20/g-d.x,20/g-d.y);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.setAttribute("colspan","2");l.style.paddingTop="2px";l.style.whiteSpace="nowrap";l.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&l.appendChild(g);a.isOffline()||(d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
-d.className="geBtn",l.appendChild(d));var q=function(c,f,h){var d=b.value,m=mxUtils.parseXml(d),d=mxUtils.getPrettyXml(m.documentElement),m=m.documentElement.getElementsByTagName("parsererror");if(null!=m&&0<m.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(h&&a.hideDialog(),m=!c.model.contains(f),!h||m||d!=t){d=a.editor.graph.compress(d);c.getModel().beginUpdate();try{if(m){var e=a.editor.graph.getInsertPoint();f.geometry.x=e.x;
-f.geometry.y=e.y;c.addCell(f)}c.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+d+")",[f])}catch(H){throw H;}finally{c.getModel().endUpdate()}m&&c.setSelectionCell(f)}};d=mxUtils.button(mxResources.get("preview"),function(){q(f,h,!1)});d.className="geBtn";l.appendChild(d);d=mxUtils.button(mxResources.get("apply"),function(){q(a.editor.graph,e,!0)});d.className="geBtn gePrimaryBtn";l.appendChild(d);a.editor.cancelFirst||l.appendChild(g);k.appendChild(l);p.appendChild(k);n.appendChild(p);this.container=
-n},CustomDialog=function(a,e,d,c,g,k,l,n){var p=document.createElement("div");p.appendChild(e);e=document.createElement("div");e.style.marginTop="16px";e.style.textAlign="center";null!=l&&e.appendChild(l);l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c()});l.className="geBtn";n&&(l.style.display="none");a.editor.cancelFirst&&e.appendChild(l);a.isOffline()||null==k||(n=mxUtils.button(mxResources.get("help"),function(){a.openLink(k)}),n.className="geBtn",e.appendChild(n));
-g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=d&&d()});e.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||e.appendChild(l);p.appendChild(e);this.cancelBtn=l;this.okButton=g;this.container=p};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC":
+300,80,!0,!0);b.init()});f.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(b);h=mxUtils.button(mxResources.get("hide"),function(){m(k(),!1)});h.setAttribute("title",mxResources.get("hide"));h.style.marginTop="8px";h.style.marginRight="4px";h.className="geBtn";b.appendChild(h);h=mxUtils.button(mxResources.get("show"),function(){var b=k();m(b,!0);n.isEnabled()&&n.setSelectionCells(b)});h.setAttribute("title",mxResources.get("show"));h.style.marginTop="8px";h.style.marginRight=
+"4px";h.className="geBtn";b.appendChild(h);var u=a.actions.get("tags"),h=mxUtils.button(mxResources.get("close"),function(){u.funct()});h.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");h.style.marginTop="8px";h.className="geBtn gePrimaryBtn";b.appendChild(h);mxEvent.addListener(f,"keyup",function(b){13!=b.keyCode&&27!=b.keyCode||u.funct()});this.window=new mxWindow(mxResources.get("tags"),b,d,e,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
+this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(f.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)):n.container.focus()}))},AuthDialog=function(a,d,e,c){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,
+mxResources.get("authorizationRequired"));var m="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";d==a.drive?(m=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):d==a.dropbox?(m=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):d==a.oneDrive?(m=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):d==a.gitHub?(m=mxResources.get("github"),n.src=IMAGE_PATH+
+"/github-logo-white.svg"):d==a.trello&&(m=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[m]));var p=document.createElement("input");p.setAttribute("type","checkbox");m=mxUtils.button(mxResources.get("authorize"),function(){c(p.checked)});m.insertBefore(n,m.firstChild);m.style.marginTop="6px";m.className="geBigButton";g.appendChild(k);g.appendChild(a);g.appendChild(m);e&&(e=document.createElement("p"),
+e.style.marginTop="20px",e.appendChild(p),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberMe")),e.appendChild(k),g.appendChild(e),p.checked=!0,p.defaultChecked=!0,mxEvent.addListener(k,"click",function(b){p.checked=!p.checked;mxEvent.consume(b)}));this.container=g},MoreShapesDialog=function(a,d,e){e=null!=e?e:a.sidebar.entries;var c=document.createElement("div");if(d){d=document.createElement("div");d.className="geDialogTitle";mxUtils.write(d,mxResources.get("shapes"));
+d.style.position="absolute";d.style.top="0px";d.style.left="0px";d.style.lineHeight="40px";d.style.height="40px";d.style.right="0px";mxClient.IS_QUIRKS&&(d.style.width="718px");var g=document.createElement("div"),k=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");k.style.position="absolute";k.style.left="202px";k.style.right=
+"0px";k.style.top="40px";k.style.bottom="60px";k.style.overflow="auto";k.style.borderLeft="1px solid rgb(211, 211, 211)";k.style.textAlign="center";mxClient.IS_QUIRKS&&(k.style.width=parseInt(d.style.width)-202+"px",k.style.height=g.style.height,k.style.marginTop=g.style.marginTop);var m=null,n=[],p=document.createElement("div");p.style.position="relative";p.style.left="0px";p.style.right="0px";for(var b=0;b<e.length;b++)(function(f){var c=p.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor=
+"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,f.title);g.appendChild(c);for(var l=0;l<f.entries.length;l++)(function(f){var c=p.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.checked=a.sidebar.isEntryVisible(f.id);h.defaultChecked=h.checked;c.appendChild(h);mxUtils.write(c," "+f.title);g.appendChild(c);var e=function(b){if(null==b||"INPUT"!=mxEvent.getSource(b).nodeName)null!=
+f.imageCallback?f.imageCallback(k):null!=f.image?k.innerHTML='<img border="0" src="'+f.image+'"/>':(k.innerHTML="<br>",mxUtils.write(k,mxResources.get("noPreview"))),null!=m&&(m.style.backgroundColor=""),m=c,m.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=b&&mxEvent.consume(b)};mxEvent.addListener(c,"click",e);mxEvent.addListener(c,"dblclick",function(b){h.checked=!h.checked;mxEvent.consume(b)});n.push(function(){return h.checked?f.id:null});0==b&&0==l&&e()})(f.entries[l])})(e[b]);
+c.style.padding="30px";c.appendChild(d);c.appendChild(g);c.appendChild(k);e=document.createElement("div");e.className="geDialogFooter";e.style.position="absolute";e.style.paddingRight="16px";e.style.color="gray";e.style.left="0px";e.style.right="0px";e.style.bottom="0px";e.style.height="60px";e.style.lineHeight="52px";mxClient.IS_QUIRKS&&(e.style.width=d.style.width,e.style.paddingTop="12px");var f=document.createElement("input");f.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)d=
+document.createElement("span"),d.style.paddingRight="20px",d.appendChild(f),mxUtils.write(d," "+mxResources.get("rememberThisSetting")),f.checked=!0,f.defaultChecked=!0,mxEvent.addListener(d,"click",function(b){mxEvent.getSource(b)!=f&&(f.checked=!f.checked,mxEvent.consume(b))}),mxClient.IS_QUIRKS&&(d.style.position="relative",d.style.top="-6px"),e.appendChild(d);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.className="geBtn";var h=mxUtils.button(mxResources.get("apply"),
+function(){a.hideDialog();for(var b=[],c=0;c<n.length;c++){var l=n[c].apply(this,arguments);null!=l&&b.push(l)}a.sidebar.showEntries(b.join(";"),f.checked,!0)});h.className="geBtn gePrimaryBtn"}else{var u=document.createElement("table"),q=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var t=document.createElement("tr");u.style.width="100%";d=document.createElement("td");var h=document.createElement("td"),w=document.createElement("td"),x=mxUtils.bind(this,function(b,
+f,c){var l=document.createElement("input");l.type="checkbox";u.appendChild(l);l.checked=a.sidebar.isEntryVisible(c);var h=document.createElement("span");mxUtils.write(h,f);f=document.createElement("div");f.style.display="block";f.appendChild(l);f.appendChild(h);mxEvent.addListener(h,"click",function(b){l.checked=!l.checked;mxEvent.consume(b)});b.appendChild(f);return function(){return l.checked?c:null}});t.appendChild(d);t.appendChild(h);t.appendChild(w);q.appendChild(t);u.appendChild(q);for(var n=
+[],B=0,b=0;b<e.length;b++)for(q=0;q<e[b].entries.length;q++)B++;for(var l=[d,h,w],v=0,b=0;b<e.length;b++)(function(b){for(var a=0;a<b.entries.length;a++){var f=b.entries[a];n.push(x(l[Math.floor(v/(B/3))],f.title,f.id));v++}})(e[b]);c.appendChild(u);e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="center";f=document.createElement("input");isLocalStorage&&(f.setAttribute("type","checkbox"),f.checked=!0,f.defaultChecked=!0,e.appendChild(f),d=document.createElement("span"),
+mxUtils.write(d," "+mxResources.get("rememberThisSetting")),e.appendChild(d),mxEvent.addListener(d,"click",function(b){f.checked=!f.checked;mxEvent.consume(b)}));c.appendChild(e);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.className="geBtn";h=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<n.length;c++){var l=n[c].apply(this,arguments);null!=l&&b.push(l)}a.sidebar.showEntries(0<b.length?b.join(";"):"",f.checked);a.hideDialog()});h.className=
+"geBtn gePrimaryBtn";e=document.createElement("div");e.style.marginTop="26px";e.style.textAlign="right"}a.editor.cancelFirst?(e.appendChild(d),e.appendChild(h)):(e.appendChild(h),e.appendChild(d));c.appendChild(e);this.container=c},PluginsDialog=function(a){function d(){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 e=document.createElement("span");e.className="geSprite geSprite-delete";
+e.style.position="relative";e.style.cursor="pointer";e.style.top="5px";e.style.marginRight="4px";e.style.display="inline-block";h.appendChild(e);mxUtils.write(h,g[b]);c.appendChild(h);mxUtils.br(c);mxEvent.addListener(e,"click",function(b){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+g[b]+'"?',function(){g.splice(b,1);d()})}}(b))}}}var e=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice();
+e.appendChild(c);d();var k=mxUtils.button(mxResources.get("add"),function(){var b="",c=urlParams.p;if(null!=c&&0<c.length){for(var e=c.split(";"),c=0;c<e.length;c++){var q=App.pluginRegistry[e[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){e=b.split(";");for(b=0;b<e.length;b++){var a=e[b],c=App.pluginRegistry[a];null!=c&&(a=c);0<a.length&&0>mxUtils.indexOf(g,a)&&g.push(a)}d()}},mxResources.get("enterValue")+
+" ("+mxResources.get("url")+")");a.showDialog(b.container,300,80,!0,!0);b.init()});k.className="geBtn";var m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";var n=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});n.className="geBtn gePrimaryBtn";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
+p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");var b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(m),b.appendChild(p),b.appendChild(k),b.appendChild(n)):(b.appendChild(p),b.appendChild(k),b.appendChild(n),b.appendChild(m));e.appendChild(b);this.container=e},CropImageDialog=function(a,d,e){var c=document.createElement("div"),g=document.createElement("table"),k=document.createElement("tbody"),
+m=document.createElement("tr"),n=document.createElement("td");n.style.whiteSpace="nowrap";n.setAttribute("colspan","2");mxUtils.write(n,mxResources.get("loading")+"...");m.appendChild(n);k.appendChild(m);var m=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(p,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);m.appendChild(p);m.appendChild(b);k.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value="0";b.appendChild(h);m.appendChild(p);m.appendChild(b);k.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("right")+
+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";b.appendChild(u);m.appendChild(p);m.appendChild(b);k.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("bottom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";b.appendChild(q);m.appendChild(p);m.appendChild(b);k.appendChild(m);m=document.createElement("tr");
+p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("circle")+":");m.appendChild(p);var t=document.createElement("input");t.setAttribute("type","checkbox");b.appendChild(t);m.appendChild(b);k.appendChild(m);g.appendChild(k);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=new Image,x=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),v=w.width,
+d=w.height,g=parseInt(f.value),x=parseInt(h.value),v=Math.max(1,v-g-parseInt(u.value)),d=Math.max(1,d-x-parseInt(q.value));b.width=v;b.height=d;t.checked&&(c.fillStyle="#000000",c.arc(v/2,d/2,Math.min(v/2,d/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,x,v,d,0,0,v,d);e(b.toDataURL())});x.setAttribute("disabled","disabled");w.onload=function(){x.removeAttribute("disabled");n.innerHTML="";mxUtils.write(n,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+
+": "+w.height)};w.src=d;mxEvent.addListener(c,"keypress",function(b){13==b.keyCode&&x.click()});d=document.createElement("div");d.style.marginTop="20px";d.style.textAlign="right";a.editor.cancelFirst?(d.appendChild(g),d.appendChild(x)):(d.appendChild(x),d.appendChild(g));c.appendChild(d);this.container=c},EditGeometryDialog=function(a,d){var e=a.editor.graph,c=1==d.length?e.getCellGeometry(d[0]):null,g=document.createElement("div"),k=document.createElement("table"),m=document.createElement("tbody"),
+n=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");k.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var f=document.createElement("input");f.setAttribute("type","text");f.style.width="100px";f.value=null!=c?c.x:"";this.init=function(){f.focus();f.select()};b.appendChild(f);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+
+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value=null!=c?c.y:"";b.appendChild(h);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("width")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.width:"";b.appendChild(u);n.appendChild(p);n.appendChild(b);m.appendChild(n);
+n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("height")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c?c.height:"";b.appendChild(q);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("rotation")+":");var t=document.createElement("input");
+t.setAttribute("type","text");t.style.width="100px";t.value=1==d.length?mxUtils.getValue(e.getCellStyle(d[0]),mxConstants.STYLE_ROTATION,0):"";b.appendChild(t);n.appendChild(p);n.appendChild(b);m.appendChild(n);k.appendChild(m);g.appendChild(k);var c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();e.getModel().beginUpdate();try{for(var b=0;b<d.length;b++){var c=e.getCellGeometry(d[b]);null!=c&&(c=c.clone(),e.isCellMovable(d[b])&&
+(0<mxUtils.trim(f.value).length&&(c.x=Number(f.value)),0<mxUtils.trim(h.value).length&&(c.y=Number(h.value))),e.isCellResizable(d[b])&&(0<mxUtils.trim(u.value).length&&(c.width=Number(u.value)),0<mxUtils.trim(q.value).length&&(c.height=Number(q.value))),e.getModel().setGeometry(d[b],c));0<mxUtils.trim(t.value).length&&e.setCellStyles(mxConstants.STYLE_ROTATION,Number(t.value),[d[b]])}}finally{e.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&w.click()});k=document.createElement("div");
+k.style.marginTop="20px";k.style.textAlign="right";a.editor.cancelFirst?(k.appendChild(c),k.appendChild(w)):(k.appendChild(w),k.appendChild(c));g.appendChild(k);this.container=g},LibraryDialog=function(a,d,e,c,g,k){function m(b){for(b=document.elementFromPoint(b.clientX,b.clientY);null!=b&&b.parentNode!=q;)b=b.parentNode;var a=null;if(null!=b)for(var c=q.firstChild,a=0;null!=c&&c!=b;)c=c.nextSibling,a++;return a}function n(b,c,h,e,d,g,u,k,B){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&
+null!=u||null==w[b]){var F=function(){E.innerHTML="";E.style.cursor="pointer";E.style.whiteSpace="nowrap";E.style.textOverflow="ellipsis";mxUtils.write(E,null!=C.title&&0<C.title.length?C.title:mxResources.get("untitled"));E.style.color=null==C.title||0==C.title.length?"#d0d0d0":""};q.style.backgroundImage="";t.style.display="none";var A=d,y=g;if(d>a.maxImageSize||g>a.maxImageSize){var J=Math.min(1,Math.min(a.maxImageSize/Math.max(1,d)),a.maxImageSize/Math.max(1,g));d*=J;g*=J}A>y?(y=Math.round(100*
+y/A),A=100):(A=Math.round(100*A/y),y=100);var p=document.createElement("div");p.setAttribute("draggable","true");p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.style.position="relative";p.style.cursor="move";mxUtils.setPrefixedStyle(p.style,"transition","transform .1s ease-in-out");if(null!=b){var z=document.createElement("img");z.setAttribute("src",v.convert(b));z.style.width=A+"px";z.style.height=y+"px";z.style.margin="10px";z.style.paddingBottom=Math.floor((100-y)/2)+"px";z.style.paddingLeft=
+Math.floor((100-A)/2)+"px";p.appendChild(z)}else if(null!=u){var D=a.stringToCells(a.editor.graph.decompress(u.xml));0<D.length&&(a.sidebar.createThumb(D,100,100,p,null,!0,!1),p.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",p.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
+"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(b){mxEvent.consume(b)});(function(b,a,c){mxEvent.addListener(L,"click",function(l){w[a]=null;for(var h=0;h<f.length;h++)if(null!=f[h].data&&f[h].data==a||null!=f[h].xml&&null!=c&&f[h].xml==c.xml){f.splice(h,1);break}p.parentNode.removeChild(b);0==f.length&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",t.style.display="");mxEvent.consume(l)});mxEvent.addListener(L,
+"dblclick",function(b){mxEvent.consume(b)})})(p,b,u);p.appendChild(L);p.style.marginBottom="30px";var E=document.createElement("div");E.style.position="absolute";E.style.boxSizing="border-box";E.style.bottom="-18px";E.style.left="10px";E.style.right="10px";E.style.backgroundColor="#ffffff";E.style.overflow="hidden";E.style.textAlign="center";var C=null;null!=b?(C={data:b,w:d,h:g,title:B},null!=k&&(C.aspect=k),w[b]=z,f.push(C)):null!=u&&(u.aspect="fixed",f.push(u),C=u);mxEvent.addListener(E,"keydown",
+function(b){13==b.keyCode&&null!=l&&(l(),l=null,mxEvent.consume(b))});F();p.appendChild(E);mxEvent.addListener(E,"mousedown",function(b){"true"!=E.getAttribute("contentEditable")&&mxEvent.consume(b)});D=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,C.title||"",mxResources.get("ok"),function(b){null!=b&&(C.title=b,F())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
+mxEvent.consume(b)}else if("true"!=E.getAttribute("contentEditable")){null!=l&&(l(),l=null);if(null==C.title||0==C.title.length)E.innerHTML="";E.style.textOverflow="";E.style.whiteSpace="";E.style.cursor="text";E.style.color="";E.setAttribute("contentEditable","true");E.focus();document.execCommand("selectAll",!1,null);l=function(){E.removeAttribute("contentEditable");E.style.cursor="pointer";C.title=E.innerHTML;F()};mxEvent.consume(b)}};mxEvent.addListener(E,"click",D);mxEvent.addListener(p,"dblclick",
+D);q.appendChild(p);mxEvent.addListener(p,"dragstart",function(a){null==b&&null!=u&&(L.style.visibility="hidden",E.style.visibility="hidden");mxClient.IS_FF&&null!=u.xml&&a.dataTransfer.setData("Text",u.xml);x=m(a);mxClient.IS_GC&&(p.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(p.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(p,30);L.style.visibility="";E.style.visibility=""},0)});mxEvent.addListener(p,"dragend",function(b){"hidden"==L.style.visibility&&(L.style.visibility=
+"",E.style.visibility="");x=null;mxUtils.setOpacity(p,100);mxUtils.setPrefixedStyle(p.style,"transform",null)})}else G||(G=!0,a.handleError({message:mxResources.get("fileExists")}));else{d=!1;try{if(a.spinner.stop(),A=mxUtils.parseXml(b),"mxlibrary"==A.documentElement.nodeName){y=JSON.parse(mxUtils.getTextContent(A.documentElement));if(null!=y&&0<y.length)for(var H=0;H<y.length;H++)null!=y[H].xml?n(null,null,0,0,0,0,y[H]):n(y[H].data,null,0,0,y[H].w,y[H].h,null,"fixed",y[H].title);d=!0}else if("mxfile"==
+A.documentElement.nodeName){for(var M=A.documentElement.getElementsByTagName("diagram"),H=0;H<M.length;H++){var y=mxUtils.getTextContent(M[H]),D=a.stringToCells(a.editor.graph.decompress(y)),P=a.editor.graph.getBoundingBoxFromGeometry(D);n(null,null,0,0,0,0,{xml:y,w:P.width,h:P.height})}d=!0}}catch(ba){}d||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function p(b){b.dataTransfer.dropEffect=null!=x?"move":"copy";b.stopPropagation();b.preventDefault()}
+function b(b){b.stopPropagation();b.preventDefault();G=!1;B=m(b);if(null!=x)null!=B&&B<q.children.length?(f.splice(B>x?B-1:B,0,f.splice(x,1)[0]),q.insertBefore(q.children[x],q.children[B])):(f.push(f.splice(x,1)[0]),q.appendChild(q.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,F(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
+/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(b){n(c,null,0,0,b.width,b.height);q.scrollTop=q.scrollHeight})}b.stopPropagation();b.preventDefault()}var f=[];e=document.createElement("div");e.style.height="100%";var h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.height="40px";e.appendChild(h);mxUtils.write(h,mxResources.get("filename")+":");null==d&&(d=a.defaultLibraryName+".xml");var u=document.createElement("input");u.setAttribute("value",
+d);u.style.marginRight="20px";u.style.marginLeft="10px";u.style.width="500px";null==g||g.isRenamable()||u.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};h.appendChild(u);var q=document.createElement("div");q.style.borderWidth="1px 0px 1px 0px";q.style.borderColor="#d3d3d3";q.style.borderStyle="solid";q.style.marginTop="6px";
+q.style.overflow="auto";q.style.height="340px";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";0==f.length&&Graph.fileSupport&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var t=document.createElement("div");t.style.position="absolute";t.style.width="640px";t.style.top="260px";t.style.textAlign="center";t.style.fontSize="22px";t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));e.appendChild(t);var w={},x=null,B=null,l=null;
+d=function(b){"true"!=mxEvent.getSource(b).getAttribute("contentEditable")&&null!=l&&(l(),l=null,mxEvent.consume(b))};mxEvent.addListener(q,"mousedown",d);mxEvent.addListener(q,"pointerdown",d);mxEvent.addListener(q,"touchstart",d);var v=new mxUrlConverter,G=!1;if(null!=c)for(d=0;d<c.length;d++)h=c[d],n(h.data,null,0,0,h.w,h.h,h,h.aspect,h.title);mxEvent.addListener(q,"dragleave",function(b){t.style.cursor="";for(var a=mxEvent.getSource(b);null!=a;){if(a==q||a==t){b.stopPropagation();b.preventDefault();
+break}a=a.parentNode}});var F=function(b){return function(c,f,l,h,e,v,d,g,u){null!=u&&(/(\.vsdx)($|\?)/i.test(u.name)||/(\.vssx)($|\?)/i.test(u.name))?a.importVisio(u,mxUtils.bind(this,function(c){a.spinner.stop();n(c,f,l,h,e,v,d,"fixed",mxEvent.isAltDown(b)?null:d.substring(0,d.lastIndexOf(".")).replace(/_/g," "))})):null!=u&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,u.name)?a.parseFile(u,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=
+c.status&&(n(c.responseText,f,l,h,e,v,d,"fixed",mxEvent.isAltDown(b)?null:d.substring(0,d.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight))})):(n(c,f,l,h,e,v,d,"fixed",mxEvent.isAltDown(b)?null:d.substring(0,d.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight)}};mxEvent.addListener(q,"dragover",p);mxEvent.addListener(q,"drop",b);mxEvent.addListener(t,"dragover",p);mxEvent.addListener(t,"drop",b);e.appendChild(q);c=document.createElement("div");c.style.textAlign="right";
+c.style.marginTop="20px";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);h=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(f),c=u.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document,
+"_blank")});h.setAttribute("id","btnDownload");h.className="geBtn";c.appendChild(h);var y=document.createElement("input");y.setAttribute("multiple","multiple");y.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(y,"change",function(b){G=!1;a.importFiles(y.files,0,0,a.maxImageSize,function(a,c,f,l,h,e,d,v,g){F(b)(a,c,f,l,h,e,d,v,g);y.value=""});q.scrollTop=q.scrollHeight}),h=mxUtils.button(mxResources.get("import"),function(){null!=l&&(l(),l=null);y.click()}),h.setAttribute("id",
+"btnAddImage"),h.className="geBtn",c.appendChild(h));h=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=l&&(l(),l=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(b,a,c){G=!1;if(null!=b){if("data:image/"==b.substring(0,11)){var f=b.indexOf(",");0<f&&(b=b.substring(0,f)+";base64,"+b.substring(f+1))}n(b,null,0,0,a,c);q.scrollTop=q.scrollHeight}})});h.setAttribute("id","btnAddImageUrl");h.className="geBtn";c.appendChild(h);this.saveBtnClickHandler=function(b,c,f,l){a.saveLibrary(b,
+c,f,l)};h=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=l&&(l(),l=null);this.saveBtnClickHandler(u.value,f,g,k)}));h.setAttribute("id","btnSave");h.className="geBtn gePrimaryBtn";c.appendChild(h);a.editor.cancelFirst||c.appendChild(d);e.appendChild(c);this.container=e},EditShapeDialog=function(a,d,e,c,g){c=null!=c?c:300;g=null!=g?g:120;var k,m,n=document.createElement("table"),p=document.createElement("tbody");n.style.cellPadding="4px";k=document.createElement("tr");m=
+document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";mxUtils.write(m,e);k.appendChild(m);p.appendChild(k);k=document.createElement("tr");m=document.createElement("td");var b=document.createElement("textarea");b.style.outline="none";b.style.resize="none";b.style.width=c-200+"px";b.style.height=g+"px";this.textarea=b;this.init=function(){b.focus();b.scrollTop=0};m.appendChild(b);k.appendChild(m);m=document.createElement("td");e=document.createElement("div");e.style.position=
+"relative";e.style.border="1px solid gray";e.style.top="6px";e.style.width="200px";e.style.height=g+4+"px";e.style.overflow="hidden";e.style.marginBottom="16px";mxEvent.disableContextMenu(e);m.appendChild(e);var f=new Graph(e);f.setEnabled(!1);var h=a.editor.graph.cloneCells([d])[0];f.addCells([h]);e=f.view.getState(h);var u="";null!=e.shape&&null!=e.shape.stencil&&(u=mxUtils.getPrettyXml(e.shape.stencil.desc));mxUtils.write(b,u||"");e=f.getGraphBounds();g=Math.min(160/e.width,(g-40)/e.height);f.view.scaleAndTranslate(g,
+20/g-e.x,20/g-e.y);k.appendChild(m);p.appendChild(k);k=document.createElement("tr");m=document.createElement("td");m.setAttribute("colspan","2");m.style.paddingTop="2px";m.style.whiteSpace="nowrap";m.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&m.appendChild(g);a.isOffline()||(e=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
+e.className="geBtn",m.appendChild(e));var q=function(c,f,h){var e=b.value,l=mxUtils.parseXml(e),e=mxUtils.getPrettyXml(l.documentElement),l=l.documentElement.getElementsByTagName("parsererror");if(null!=l&&0<l.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(h&&a.hideDialog(),l=!c.model.contains(f),!h||l||e!=u){e=a.editor.graph.compress(e);c.getModel().beginUpdate();try{if(l){var d=a.editor.graph.getInsertPoint();f.geometry.x=d.x;
+f.geometry.y=d.y;c.addCell(f)}c.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+e+")",[f])}catch(G){throw G;}finally{c.getModel().endUpdate()}l&&c.setSelectionCell(f)}};e=mxUtils.button(mxResources.get("preview"),function(){q(f,h,!1)});e.className="geBtn";m.appendChild(e);e=mxUtils.button(mxResources.get("apply"),function(){q(a.editor.graph,d,!0)});e.className="geBtn gePrimaryBtn";m.appendChild(e);a.editor.cancelFirst||m.appendChild(g);k.appendChild(m);p.appendChild(k);n.appendChild(p);this.container=
+n},CustomDialog=function(a,d,e,c,g,k,m,n){var p=document.createElement("div");p.appendChild(d);d=document.createElement("div");d.style.marginTop="16px";d.style.textAlign="center";null!=m&&d.appendChild(m);m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c()});m.className="geBtn";n&&(m.style.display="none");a.editor.cancelFirst&&d.appendChild(m);a.isOffline()||null==k||(n=mxUtils.button(mxResources.get("help"),function(){a.openLink(k)}),n.className="geBtn",d.appendChild(n));
+g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=e&&e()});d.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(m);p.appendChild(d);this.cancelBtn=m;this.okButton=g;this.container=p};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC":
 IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=":
 IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==":
 IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
@@ -7051,42 +7115,42 @@ null!=b.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=b.defaultVertexS
 (a=document.createElement("style"),a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(b.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(a,c),Editor.prototype.fontCss=b.fontCss);if(null!=b.plugins)for(App.initPluginCallback(),a=0;a<b.plugins.length;a++)mxscript(b.plugins[a])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=
 null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],f=c.getElementsByTagName("div");null!=f&&0<f.length&&(c=f[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(f=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),
 null!=f&&(h=new mxCodec(f.ownerDocument),h.decode(f,this.graph.getStylesheet())));else if(f=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=f){var h=new mxCodec(f.ownerDocument);h.decode(f,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,
-c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var e=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(b){b=null!=b?b:!0;var a=e.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&
+c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var d=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(b){b=null!=b?b:!0;var a=d.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&
 a.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&a.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));a.setAttribute("math",this.graph.mathEnabled?"1":"0");a.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return a};Editor.prototype.isDataSvg=function(b){try{var a=mxUtils.parseXml(b).documentElement.getAttribute("content");if(null!=a&&(null!=a&&"<"!=a.charAt(0)&&"%"!=a.charAt(0)&&(a=unescape(window.atob?atob(a):Base64.decode(cont,a))),
 null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a)),null!=a&&0<a.length)){var c=mxUtils.parseXml(a).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(v){}return!1};Editor.prototype.extractGraphModel=function(b,a){if(null!=b&&"undefined"!==typeof pako){var c=b.ownerDocument.getElementsByTagName("div"),f=[];if(null!=c&&0<c.length)for(var h=0;h<c.length;h++)if("mxgraph"==c[h].getAttribute("class")){f.push(c[h]);break}0<f.length&&(c=f[0].getAttribute("data-mxgraph"),null!=
 c?(f=JSON.parse(c),null!=f&&null!=f.xml&&(f=mxUtils.parseXml(f.xml),b=f.documentElement)):(f=f[0].getElementsByTagName("div"),0<f.length&&(c=mxUtils.getTextContent(f[0]),c=this.graph.decompress(c),0<c.length&&(f=mxUtils.parseXml(c),b=f.documentElement))))}if(null!=b&&"svg"==b.nodeName)if(c=b.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)b=mxUtils.parseXml(c).documentElement;
-else throw{message:mxResources.get("notADiagramFile")};null==b||a||(f=null,"diagram"==b.nodeName?f=b:"mxfile"==b.nodeName&&(c=b.getElementsByTagName("diagram"),0<c.length&&(f=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=f&&(c=this.graph.decompress(mxUtils.getTextContent(f)),null!=c&&0<c.length&&(b=mxUtils.parseXml(c).documentElement)));null==b||"mxGraphModel"==b.nodeName||a&&"mxfile"==b.nodeName||(b=null);return b};var d=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled=
-"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;d.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(b,a){b=null!=b?b:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";
+else throw{message:mxResources.get("notADiagramFile")};null==b||a||(f=null,"diagram"==b.nodeName?f=b:"mxfile"==b.nodeName&&(c=b.getElementsByTagName("diagram"),0<c.length&&(f=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=f&&(c=this.graph.decompress(mxUtils.getTextContent(f)),null!=c&&0<c.length&&(b=mxUtils.parseXml(c).documentElement)));null==b||"mxGraphModel"==b.nodeName||a&&"mxfile"==b.nodeName||(b=null);return b};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled=
+"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(b,a){b=null!=b?b:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";
 Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(b){window.setTimeout(function(){"hidden"!=b.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,b])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(a||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js",
 "noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var b=0;b<Editor.mathJaxQueue.length;b++)Editor.doMathJaxRender(Editor.mathJaxQueue[b])})}};Editor.MathJaxRender=function(b){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(b):Editor.mathJaxQueue.push(b)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init=
 function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,a){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var f=document.getElementsByTagName("script");if(null!=f&&0<f.length){var h=document.createElement("script");h.type="text/javascript";h.src=b;f[0].parentNode.appendChild(h)}};Editor.prototype.csvToArray=function(b){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(b))return null;
 var a=[];b.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(b,c,f,h){void 0!==c?a.push(c.replace(/\\'/g,"'")):void 0!==f?a.push(f.replace(/\\"/g,'"')):void 0!==h&&a.push(h);return""});/,\s*$/.test(b)&&a.push("");return a};if(window.ColorDialog){var g=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(b,a){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
-var k=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var l=Format.prototype.init;Format.prototype.init=function(){l.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var n=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
+var k=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var m=Format.prototype.init;Format.prototype.init=function(){m.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var n=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
 n.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var b=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=b&&b.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(b){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(b){b=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var a=this.editorUi,c=a.editor.graph,f=this.createOption(mxResources.get("shadow"),
 function(){return c.shadowVisible},function(b){var f=new ChangePageSetup(a);f.ignoreColor=!0;f.ignoreImage=!0;f.shadowVisible=b;c.model.execute(f)},{install:function(b){this.listener=function(){b(c.shadowVisible)};a.addListener("shadowVisibleChanged",this.listener)},destroy:function(){a.removeListener(this.listener)}});Editor.shadowOptionEnabled||(f.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(f,60));b.appendChild(f)}return b};var b=DiagramFormatPanel.prototype.addOptions;
 DiagramFormatPanel.prototype.addOptions=function(a){a=b.apply(this,arguments);var c=this.editorUi,f=c.editor.graph;if(f.isEnabled()){var h=c.getCurrentFile();null!=h&&h.isAutosaveOptional()&&(h=this.createOption(mxResources.get("autosave"),function(){return c.editor.autosave},function(b){c.editor.setAutosave(b)},{install:function(b){this.listener=function(){b(c.editor.autosave)};c.editor.addListener("autosaveChanged",this.listener)},destroy:function(){c.editor.removeListener(this.listener)}}),a.appendChild(h))}if(this.isMathOptionVisible()&&
-f.isEnabled()&&"undefined"!==typeof MathJax){h=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return f.mathEnabled},function(b){c.actions.get("mathematicalTypesetting").funct()},{install:function(b){this.listener=function(){b(f.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});h.style.paddingTop="0px";a.appendChild(h);var d=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
-d.style.position="relative";d.style.top="4px";h.appendChild(d)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",
+f.isEnabled()&&"undefined"!==typeof MathJax){h=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return f.mathEnabled},function(b){c.actions.get("mathematicalTypesetting").funct()},{install:function(b){this.listener=function(){b(f.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});h.style.paddingTop="0px";a.appendChild(h);var e=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
+e.style.position="relative";e.style.top="4px";h.appendChild(e)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",
 gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[null,{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];var f=StyleFormatPanel.prototype.init;
 StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var h=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(b){var a=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("copyStyle").funct()}));a.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+
 ")");a.style.marginBottom="2px";a.style.width="100px";a.style.marginRight="2px";b.appendChild(a);a=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("pasteStyle").funct()}));a.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");a.style.marginBottom="2px";a.style.width="100px";b.appendChild(a);mxUtils.br(b);return h.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(b){function a(b){function a(b){var a=
-mxUtils.button("",function(a){f.getModel().beginUpdate();try{var c=f.getSelectionCells();for(a=0;a<c.length;a++){for(var h=f.getModel().getStyle(c[a]),m=0;m<d.length;m++)h=mxUtils.removeStylename(h,d[m]);null!=b?(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,b.fill),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,b.stroke),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,b.gradient)):(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,"#ffffff"),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,
+mxUtils.button("",function(a){f.getModel().beginUpdate();try{var c=f.getSelectionCells();for(a=0;a<c.length;a++){for(var h=f.getModel().getStyle(c[a]),l=0;l<e.length;l++)h=mxUtils.removeStylename(h,e[l]);null!=b?(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,b.fill),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,b.stroke),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,b.gradient)):(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,"#ffffff"),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,
 "#000000"),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,null));f.getModel().setStyle(c[a],h)}}finally{f.getModel().endUpdate()}});a.className="geStyleButton";a.style.width="36px";a.style.height="30px";a.style.margin="0px 6px 6px 0px";null!=b?(null!=b.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?a.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+b.fill+"', EndColorStr='"+b.gradient+"', GradientType=0)":a.style.backgroundImage="linear-gradient("+
 b.fill+" 0px,"+b.gradient+" 100%)":a.style.backgroundColor=b.fill,a.style.border="1px solid "+b.stroke):(a.style.backgroundColor="#ffffff",a.style.border="1px solid #000000");h.appendChild(a)}h.innerHTML="";for(var c=0;c<b.length;c++)0<c&&0==mxUtils.mod(c,4)&&mxUtils.br(h),a(b[c])}function c(b){mxEvent.addListener(b,"mouseenter",function(){b.style.opacity="1"});mxEvent.addListener(b,"mouseleave",function(){b.style.opacity="0.5"})}var f=this.editorUi.editor.graph,h=document.createElement("div");h.style.whiteSpace=
-"nowrap";h.style.paddingLeft="24px";h.style.paddingRight="20px";b.style.paddingLeft="16px";b.style.paddingBottom="6px";b.style.position="relative";b.appendChild(h);var d="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var e=document.createElement("div");e.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
-mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));var g=document.createElement("div");g.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
-1<this.defaultColorSchemes.length&&(b.appendChild(e),b.appendChild(g));mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));c(e);c(g);a(this.defaultColorSchemes[this.editorUi.currentScheme]);return b};StyleFormatPanel.prototype.addEditOps=function(b){var a=this.format.getSelectionState(),c=null;1==this.editorUi.editor.graph.getSelectionCount()&&
+"nowrap";h.style.paddingLeft="24px";h.style.paddingRight="20px";b.style.paddingLeft="16px";b.style.paddingBottom="6px";b.style.position="relative";b.appendChild(h);var e="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var d=document.createElement("div");d.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
+mxEvent.addListener(d,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));var g=document.createElement("div");g.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
+1<this.defaultColorSchemes.length&&(b.appendChild(d),b.appendChild(g));mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));c(d);c(g);a(this.defaultColorSchemes[this.editorUi.currentScheme]);return b};StyleFormatPanel.prototype.addEditOps=function(b){var a=this.format.getSelectionState(),c=null;1==this.editorUi.editor.graph.getSelectionCount()&&
 (c=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("editStyle").funct()})),c.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),c.style.width="202px",c.style.marginBottom="2px",b.appendChild(c));var f=this.editorUi.editor.graph,h=f.view.getState(f.getSelectionCell());1==f.getSelectionCount()&&null!=h&&null!=h.shape&&null!=h.shape.stencil?(a=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
 function(b){this.editorUi.actions.get("editShape").funct()})),a.setAttribute("title",mxResources.get("editShape")),a.style.marginBottom="2px",null==c?a.style.width="202px":(c.style.width="100px",a.style.width="100px",a.style.marginLeft="2px"),b.appendChild(a)):a.image&&(a=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(b){this.editorUi.actions.get("image").funct()})),a.setAttribute("title",mxResources.get("editImage")),a.style.marginBottom="2px",null==c?a.style.width="202px":
 (c.style.width="100px",a.style.width="100px",a.style.marginLeft="2px"),b.appendChild(a));return b}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize=
-"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var t=Graph.prototype.init;Graph.prototype.init=function(){function b(b){a=b;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)a=mxUtils.clone(b)}t.apply(this,arguments);var a=null;mxEvent.addListener(this.container,"mouseenter",b);mxEvent.addListener(this.container,"mousemove",b);mxEvent.addListener(this.container,"mouseleave",function(b){a=null});this.isMouseInsertPoint=function(){return null!=a};var c=this.getInsertPoint;
+"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var u=Graph.prototype.init;Graph.prototype.init=function(){function b(b){a=b;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)a=mxUtils.clone(b)}u.apply(this,arguments);var a=null;mxEvent.addListener(this.container,"mouseenter",b);mxEvent.addListener(this.container,"mousemove",b);mxEvent.addListener(this.container,"mouseleave",function(b){a=null});this.isMouseInsertPoint=function(){return null!=a};var c=this.getInsertPoint;
 this.getInsertPoint=function(){return null!=a?this.getPointForEvent(a):c.apply(this,arguments)};var f=this.layoutManager.getLayout;this.layoutManager.getLayout=function(b){var a=this.graph.view.getState(b),a=null!=a?a.style:this.graph.getCellStyle(b);if("undefined"!=typeof mxRackContainer&&"rack"==a.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(b,a){a.height=Math.max(a.height,20);if(1<a.height/20){var c=a.height%20;a.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(b,
 a)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=a.marginLeft||0;c.marginRight=a.marginRight||0;c.marginTop=a.marginTop||0;c.marginBottom=a.marginBottom||0;c.resizeParent=!1;return c}return f.apply(this,arguments)}};var q=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){q.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(b){return null!=b&&"data:page/"==b.substring(0,10)};Graph.prototype.highlightCell=function(b,
 a,c){a=null!=a?a:mxConstants.DEFAULT_VALID_COLOR;c=null!=c?c:1E3;b=this.view.getState(b);if(null!=b){var f=Math.max(5,mxUtils.getValue(b.style,mxConstants.STYLE_STROKEWIDTH,1)+4),h=new mxCellHighlight(this,a,f,!1);h.highlight(b);window.setTimeout(function(){null!=h.shape&&(mxUtils.setPrefixedStyle(h.shape.node.style,"transition","all 1200ms ease-in-out"),h.shape.node.style.opacity=0);window.setTimeout(function(){h.destroy()},1200)},c)}};Graph.prototype.addSvgShadow=function(b,a,c){c=null!=c?c:!1;
-var f=b.ownerDocument,h=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"filter"):f.createElement("filter");h.setAttribute("id",this.shadowId);var m=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):f.createElement("feGaussianBlur");m.setAttribute("in","SourceAlpha");m.setAttribute("stdDeviation",this.svgShadowBlur);m.setAttribute("result","blur");h.appendChild(m);m=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feOffset"):f.createElement("feOffset");
-m.setAttribute("in","blur");m.setAttribute("dx",this.svgShadowSize);m.setAttribute("dy",this.svgShadowSize);m.setAttribute("result","offsetBlur");h.appendChild(m);m=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feFlood"):f.createElement("feFlood");m.setAttribute("flood-color",this.svgShadowColor);m.setAttribute("flood-opacity",this.svgShadowOpacity);m.setAttribute("result","offsetColor");h.appendChild(m);m=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feComposite"):
-f.createElement("feComposite");m.setAttribute("in","offsetColor");m.setAttribute("in2","offsetBlur");m.setAttribute("operator","in");m.setAttribute("result","offsetBlur");h.appendChild(m);m=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feBlend"):f.createElement("feBlend");m.setAttribute("in","SourceGraphic");m.setAttribute("in2","offsetBlur");h.appendChild(m);m=b.getElementsByTagName("defs");0==m.length?(f=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"defs"):f.createElement("defs"),
-null!=b.firstChild?b.insertBefore(f,b.firstChild):b.appendChild(f)):f=m[0];f.appendChild(h);c||((a||b.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(b.getAttribute("width")))||(b.setAttribute("width",parseInt(b.getAttribute("width"))+6),b.setAttribute("height",parseInt(b.getAttribute("height"))+6)));return h};Graph.prototype.setShadowVisible=function(b,a){mxClient.IS_SVG&&(a=null!=a?a:!0,(this.shadowVisible=b)?this.view.getDrawPane().setAttribute("filter",
+var f=b.ownerDocument,h=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"filter"):f.createElement("filter");h.setAttribute("id",this.shadowId);var l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):f.createElement("feGaussianBlur");l.setAttribute("in","SourceAlpha");l.setAttribute("stdDeviation",this.svgShadowBlur);l.setAttribute("result","blur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feOffset"):f.createElement("feOffset");
+l.setAttribute("in","blur");l.setAttribute("dx",this.svgShadowSize);l.setAttribute("dy",this.svgShadowSize);l.setAttribute("result","offsetBlur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feFlood"):f.createElement("feFlood");l.setAttribute("flood-color",this.svgShadowColor);l.setAttribute("flood-opacity",this.svgShadowOpacity);l.setAttribute("result","offsetColor");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feComposite"):
+f.createElement("feComposite");l.setAttribute("in","offsetColor");l.setAttribute("in2","offsetBlur");l.setAttribute("operator","in");l.setAttribute("result","offsetBlur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feBlend"):f.createElement("feBlend");l.setAttribute("in","SourceGraphic");l.setAttribute("in2","offsetBlur");h.appendChild(l);l=b.getElementsByTagName("defs");0==l.length?(f=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"defs"):f.createElement("defs"),
+null!=b.firstChild?b.insertBefore(f,b.firstChild):b.appendChild(f)):f=l[0];f.appendChild(h);c||((a||b.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(b.getAttribute("width")))||(b.setAttribute("width",parseInt(b.getAttribute("width"))+6),b.setAttribute("height",parseInt(b.getAttribute("height"))+6)));return h};Graph.prototype.setShadowVisible=function(b,a){mxClient.IS_SVG&&(a=null!=a?a:!0,(this.shadowVisible=b)?this.view.getDrawPane().setAttribute("filter",
 "url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),a&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var b=this.model.getChildCount(this.model.root),a,c=0;do a=this.model.getChildAt(this.model.root,c);while(c++<b&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0"));null!=a&&this.setDefaultParent(a)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];
 mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=
 [SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=
@@ -7094,247 +7158,247 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
 "/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=
 [SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=
 [SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",
-STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(b){var a=null;null!=b&&0<b.length&&("ER"==b.substring(0,2)?a="mxgraph.er":"sysML"==b.substring(0,5)&&(a="mxgraph.sysml"));return a};var u=mxMarker.createMarker;mxMarker.createMarker=function(b,a,c,f,h,d,e,g,t,q){if(null!=c&&null==mxMarker.markers[c]){var m=this.getPackageForType(c);
-null!=m&&mxStencilRegistry.getStencil(m)}return u.apply(this,arguments)};PrintDialog.prototype.create=function(b,a){function c(){l.value=Math.max(1,Math.min(g,Math.max(parseInt(l.value),parseInt(k.value))));k.value=Math.max(1,Math.min(g,Math.min(parseInt(l.value),parseInt(k.value))))}function f(a){function c(a,c,h){var m=a.getGraphBounds(),e=0,d=0,q=ba.get(),g=1/a.pageScale,t=p.checked;if(t)var g=parseInt(Q.value),v=parseInt(P.value),g=Math.min(q.height*v/(m.height/a.view.scale),q.width*g/(m.width/
-a.view.scale));else g=parseInt(n.value)/(100*a.pageScale),isNaN(g)&&(f=1/a.pageScale,n.value="100 %");q=mxRectangle.fromRectangle(q);q.width=Math.ceil(q.width*f);q.height=Math.ceil(q.height*f);g*=f;!t&&a.pageVisible?(m=a.getPageLayout(),e-=m.x*q.width,d-=m.y*q.height):t=!0;if(null==c){c=PrintDialog.createPrintPreview(a,g,q,0,e,d,t);c.pageSelector=!1;c.mathEnabled=!1;a=b.getCurrentFile();null!=a&&(c.title=a.getTitle());var w=c.writeHead;c.writeHead=function(a){w.apply(this,arguments);null!=b.editor.fontCss&&
-(a.writeln('<style type="text/css">'),a.writeln(b.editor.fontCss),a.writeln("</style>"))};if("undefined"!==typeof MathJax){var u=c.renderPage;c.renderPage=function(b,a,c,f,h,m){var e=u.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,h,!0)}else{q=a.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";c.backgroundColor=q;c.autoOrigin=t;c.appendGraph(a,g,e,d,h,!0)}return c}var f=parseInt(U.value)/100;isNaN(f)&&(f=1,U.value=
-"100 %");var f=.75*f,m=k.value,d=l.value,e=!w.checked,q=null;e&&(e=m==t&&d==t);if(!e&&null!=b.pages&&b.pages.length){var g=0,e=b.pages.length-1;w.checked||(g=parseInt(m)-1,e=parseInt(d)-1);for(var v=g;v<=e;v++){var u=b.pages[v],m=u==b.currentPage?h:null;if(null==m){var m=b.createTemporaryGraph(h.getStylesheet()),d=!0,g=!1,y=null,x=null;null==u.viewState&&null==u.mapping&&null==u.root&&b.updatePageRoot(u);null!=u.viewState?(d=u.viewState.pageVisible,g=u.viewState.mathEnabled,y=u.viewState.background,
-x=u.viewState.backgroundImage):null!=u.mapping&&null!=u.mapping.diagramMap&&(g="0"!=u.mapping.diagramMap.get("mathEnabled"),y=u.mapping.diagramMap.get("background"),x=u.mapping.diagramMap.get("backgroundImage"),x=null!=x&&0<x.length?JSON.parse(x):null);m.background=y;m.backgroundImage=null!=x?new mxImage(x.src,x.width,x.height):null;m.pageVisible=d;m.mathEnabled=g;var C=m.getGlobalVariable;m.getGlobalVariable=function(b){return"page"==b?u.getName():"pagenumber"==b?v+1:C.apply(this,arguments)};document.body.appendChild(m.container);
-b.updatePageRoot(u);m.model.setRoot(u.root)}q=c(m,q,v!=e);m!=h&&m.container.parentNode.removeChild(m.container)}}else q=c(h);q.mathEnabled&&(e=q.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),
+STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(b){var a=null;null!=b&&0<b.length&&("ER"==b.substring(0,2)?a="mxgraph.er":"sysML"==b.substring(0,5)&&(a="mxgraph.sysml"));return a};var t=mxMarker.createMarker;mxMarker.createMarker=function(b,a,c,f,h,e,d,g,u,q){if(null!=c&&null==mxMarker.markers[c]){var l=this.getPackageForType(c);
+null!=l&&mxStencilRegistry.getStencil(l)}return t.apply(this,arguments)};PrintDialog.prototype.create=function(b,a){function c(){m.value=Math.max(1,Math.min(g,Math.max(parseInt(m.value),parseInt(k.value))));k.value=Math.max(1,Math.min(g,Math.min(parseInt(m.value),parseInt(k.value))))}function f(a){function c(a,c,h){var l=a.getGraphBounds(),e=0,d=0,q=ba.get(),g=1/a.pageScale,u=p.checked;if(u)var g=parseInt(Q.value),v=parseInt(P.value),g=Math.min(q.height*v/(l.height/a.view.scale),q.width*g/(l.width/
+a.view.scale));else g=parseInt(B.value)/(100*a.pageScale),isNaN(g)&&(f=1/a.pageScale,B.value="100 %");q=mxRectangle.fromRectangle(q);q.width=Math.ceil(q.width*f);q.height=Math.ceil(q.height*f);g*=f;!u&&a.pageVisible?(l=a.getPageLayout(),e-=l.x*q.width,d-=l.y*q.height):u=!0;if(null==c){c=PrintDialog.createPrintPreview(a,g,q,0,e,d,u);c.pageSelector=!1;c.mathEnabled=!1;a=b.getCurrentFile();null!=a&&(c.title=a.getTitle());var t=c.writeHead;c.writeHead=function(a){t.apply(this,arguments);null!=b.editor.fontCss&&
+(a.writeln('<style type="text/css">'),a.writeln(b.editor.fontCss),a.writeln("</style>"))};if("undefined"!==typeof MathJax){var w=c.renderPage;c.renderPage=function(b,a,c,f,h,l){var e=w.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,h,!0)}else{q=a.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";c.backgroundColor=q;c.autoOrigin=u;c.appendGraph(a,g,e,d,h,!0)}return c}var f=parseInt(U.value)/100;isNaN(f)&&(f=1,U.value=
+"100 %");var f=.75*f,l=k.value,d=m.value,e=!w.checked,q=null;e&&(e=l==u&&d==u);if(!e&&null!=b.pages&&b.pages.length){var g=0,e=b.pages.length-1;w.checked||(g=parseInt(l)-1,e=parseInt(d)-1);for(var v=g;v<=e;v++){var t=b.pages[v],l=t==b.currentPage?h:null;if(null==l){var l=b.createTemporaryGraph(h.getStylesheet()),d=!0,g=!1,x=null,n=null;null==t.viewState&&null==t.mapping&&null==t.root&&b.updatePageRoot(t);null!=t.viewState?(d=t.viewState.pageVisible,g=t.viewState.mathEnabled,x=t.viewState.background,
+n=t.viewState.backgroundImage):null!=t.mapping&&null!=t.mapping.diagramMap&&(g="0"!=t.mapping.diagramMap.get("mathEnabled"),x=t.mapping.diagramMap.get("background"),n=t.mapping.diagramMap.get("backgroundImage"),n=null!=n&&0<n.length?JSON.parse(n):null);l.background=x;l.backgroundImage=null!=n?new mxImage(n.src,n.width,n.height):null;l.pageVisible=d;l.mathEnabled=g;var A=l.getGlobalVariable;l.getGlobalVariable=function(b){return"page"==b?t.getName():"pagenumber"==b?v+1:A.apply(this,arguments)};document.body.appendChild(l.container);
+b.updatePageRoot(t);l.model.setRoot(t.root)}q=c(l,q,v!=e);l!=h&&l.container.parentNode.removeChild(l.container)}}else q=c(h);q.mathEnabled&&(e=q.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),
 e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),a&&(e.writeln("MathJax.Hub.Queue(function () {"),e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
-q.closeDocument();!q.mathEnabled&&a&&PrintDialog.printPreview(q)}var h=b.editor.graph,d=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,a||mxResources.get("print"));d.appendChild(e);var g=1,t=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var w=document.createElement("input");w.style.cssText="margin-right:8px;margin-bottom:8px;";
-w.setAttribute("value","all");w.setAttribute("type","radio");w.setAttribute("name","pages-printdialog");q.appendChild(w);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));q.appendChild(e);mxUtils.br(q);var u=w.cloneNode(!0);w.setAttribute("checked","checked");u.setAttribute("value","range");q.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");q.appendChild(e);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";
-k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";q.appendChild(k);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));q.appendChild(e);var l=k.cloneNode(!0);q.appendChild(l);mxEvent.addListener(k,"focus",function(){u.checked=!0});mxEvent.addListener(l,"focus",function(){u.checked=!0});mxEvent.addListener(k,"change",c);mxEvent.addListener(l,"change",c);if(null!=b.pages&&(g=b.pages.length,null!=b.currentPage))for(e=0;e<b.pages.length;e++)if(b.currentPage==
-b.pages[e]){t=e+1;k.value=t;l.value=t;break}k.setAttribute("max",g);l.setAttribute("max",g);1<g&&d.appendChild(q);var y=document.createElement("div");y.style.marginBottom="10px";var x=document.createElement("input");x.style.marginRight="8px";x.setAttribute("value","adjust");x.setAttribute("type","radio");x.setAttribute("name","printZoom");y.appendChild(x);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));y.appendChild(e);var n=document.createElement("input");n.style.cssText=
-"margin:0 8px 0 8px;";n.setAttribute("value","100 %");n.style.width="50px";y.appendChild(n);mxEvent.addListener(n,"focus",function(){x.checked=!0});d.appendChild(y);var q=q.cloneNode(!1),p=x.cloneNode(!0);p.setAttribute("value","fit");x.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(p);q.appendChild(e);y=document.createElement("table");y.style.display="inline-block";var N=document.createElement("tbody"),
-S=document.createElement("tr"),O=S.cloneNode(!0),I=document.createElement("td"),W=I.cloneNode(!0),R=I.cloneNode(!0),T=I.cloneNode(!0),V=I.cloneNode(!0),K=I.cloneNode(!0);I.style.textAlign="right";T.style.textAlign="right";mxUtils.write(I,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);e=document.createElement("span");mxUtils.write(e,
-mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){p.checked=!0});mxEvent.addListener(P,"focus",function(){p.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));K.appendChild(e);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);y.appendChild(N);
-q.appendChild(y);d.appendChild(q);q=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));q.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(e,"printdialog",b.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));q.appendChild(e);
-var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";q.appendChild(U);d.appendChild(q);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});q.className="geBtn";b.editor.cancelFirst&&e.appendChild(q);b.isOffline()||(y=mxUtils.button(mxResources.get("help"),function(){h.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
-y.className="geBtn",e.appendChild(y));PrintDialog.previewEnabled&&(y=mxUtils.button(mxResources.get("preview"),function(){b.hideDialog();f(!1)}),y.className="geBtn",e.appendChild(y));y=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){b.hideDialog();f(!0)});y.className="geBtn gePrimaryBtn";e.appendChild(y);b.editor.cancelFirst||e.appendChild(q);d.appendChild(e);this.container=d};var w=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==
+q.closeDocument();!q.mathEnabled&&a&&PrintDialog.printPreview(q)}var h=b.editor.graph,e=document.createElement("div"),d=document.createElement("h3");d.style.width="100%";d.style.textAlign="center";d.style.marginTop="0px";mxUtils.write(d,a||mxResources.get("print"));e.appendChild(d);var g=1,u=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var w=document.createElement("input");w.style.cssText="margin-right:8px;margin-bottom:8px;";
+w.setAttribute("value","all");w.setAttribute("type","radio");w.setAttribute("name","pages-printdialog");q.appendChild(w);d=document.createElement("span");mxUtils.write(d,mxResources.get("printAllPages"));q.appendChild(d);mxUtils.br(q);var t=w.cloneNode(!0);w.setAttribute("checked","checked");t.setAttribute("value","range");q.appendChild(t);d=document.createElement("span");mxUtils.write(d,mxResources.get("pages")+":");q.appendChild(d);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";
+k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";q.appendChild(k);d=document.createElement("span");mxUtils.write(d,mxResources.get("to"));q.appendChild(d);var m=k.cloneNode(!0);q.appendChild(m);mxEvent.addListener(k,"focus",function(){t.checked=!0});mxEvent.addListener(m,"focus",function(){t.checked=!0});mxEvent.addListener(k,"change",c);mxEvent.addListener(m,"change",c);if(null!=b.pages&&(g=b.pages.length,null!=b.currentPage))for(d=0;d<b.pages.length;d++)if(b.currentPage==
+b.pages[d]){u=d+1;k.value=u;m.value=u;break}k.setAttribute("max",g);m.setAttribute("max",g);1<g&&e.appendChild(q);var x=document.createElement("div");x.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");x.appendChild(n);d=document.createElement("span");mxUtils.write(d,mxResources.get("adjustTo"));x.appendChild(d);var B=document.createElement("input");B.style.cssText=
+"margin:0 8px 0 8px;";B.setAttribute("value","100 %");B.style.width="50px";x.appendChild(B);mxEvent.addListener(B,"focus",function(){n.checked=!0});e.appendChild(x);var q=q.cloneNode(!1),p=n.cloneNode(!0);p.setAttribute("value","fit");n.setAttribute("checked","checked");d=document.createElement("div");d.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";d.appendChild(p);q.appendChild(d);x=document.createElement("table");x.style.display="inline-block";var N=document.createElement("tbody"),
+S=document.createElement("tr"),O=S.cloneNode(!0),I=document.createElement("td"),W=I.cloneNode(!0),R=I.cloneNode(!0),T=I.cloneNode(!0),V=I.cloneNode(!0),K=I.cloneNode(!0);I.style.textAlign="right";T.style.textAlign="right";mxUtils.write(I,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);d=document.createElement("span");mxUtils.write(d,
+mxResources.get("fitToSheetsAcross"));R.appendChild(d);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){p.checked=!0});mxEvent.addListener(P,"focus",function(){p.checked=!0});d=document.createElement("span");mxUtils.write(d,mxResources.get("fitToSheetsDown"));K.appendChild(d);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);x.appendChild(N);
+q.appendChild(x);e.appendChild(q);q=document.createElement("div");d=document.createElement("div");d.style.fontWeight="bold";d.style.marginBottom="12px";mxUtils.write(d,mxResources.get("paperSize"));q.appendChild(d);d=document.createElement("div");d.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(d,"printdialog",b.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(d);d=document.createElement("span");mxUtils.write(d,mxResources.get("pageScale"));q.appendChild(d);
+var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";q.appendChild(U);e.appendChild(q);d=document.createElement("div");d.style.cssText="text-align:right;margin:62px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});q.className="geBtn";b.editor.cancelFirst&&d.appendChild(q);b.isOffline()||(x=mxUtils.button(mxResources.get("help"),function(){h.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
+x.className="geBtn",d.appendChild(x));PrintDialog.previewEnabled&&(x=mxUtils.button(mxResources.get("preview"),function(){b.hideDialog();f(!1)}),x.className="geBtn",d.appendChild(x));x=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){b.hideDialog();f(!0)});x.className="geBtn gePrimaryBtn";d.appendChild(x);b.editor.cancelFirst||d.appendChild(q);e.appendChild(d);this.container=e};var w=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==
 this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(w.apply(this,arguments),null!=this.mathEnabled&&
 this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.7.0";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.7.1";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
-!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var 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=null!=b&&6<b.length}catch(u){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(q){}try{a=document.createElement("canvas");a.width=a.height=1;var e=a.toDataURL("image/jpeg");
-EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(q){}})();EditorUi.prototype.openLink=function(b,a){return this.editor.graph.openLink(b,a)};EditorUi.prototype.showSplash=function(b){};EditorUi.prototype.getLocalData=function(b,a){a(localStorage.getItem(b))};EditorUi.prototype.setLocalData=function(b,a,c){localStorage.setItem(b,a);c()};EditorUi.prototype.removeLocalData=function(b,a){localStorage.removeItem(b);a()};EditorUi.prototype.setMathEnabled=function(b){this.editor.graph.mathEnabled=
-b;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(b){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=
-function(b,a,c){c=null!=c?c:24;var f=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),h=f.spin;f.spin=function(c,e){var d=!1;this.active||(h.call(this,c),this.active=!0,null!=e&&(d=document.createElement("div"),d.style.position="absolute",d.style.whiteSpace="nowrap",d.style.background="#4B4243",d.style.color="white",d.style.fontFamily="Helvetica, Arial",d.style.fontSize=
-"9pt",d.style.padding="6px",d.style.paddingLeft="10px",d.style.paddingRight="10px",d.style.zIndex=2E9,d.style.left=Math.max(0,b)+"px",d.style.top=Math.max(0,a+70)+"px",mxUtils.setPrefixedStyle(d.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(d.style,"boxShadow","2px 2px 3px 0px #ddd"),d.innerHTML=e+"...",c.appendChild(d),f.status=d,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(d.style.left=
-Math.round(Math.max(0,b-d.offsetWidth/2))+"px",d.style.top=Math.round(Math.max(0,a+70-d.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var b=function(){};this.active&&(b=mxUtils.bind(this,function(){this.spin(c,e)}));this.stop();return b}),d=!0);return d};var e=f.stop;f.stop=function(){e.call(this);this.active=!1;null!=f.status&&(f.status.parentNode.removeChild(f.status),f.status=null)};f.pause=function(){return function(){}};return f};EditorUi.parsePng=function(b,a,c){function f(b,
-a){var c=d;d+=a;return b.substring(c,d)}function h(b){b=f(b,4);return b.charCodeAt(3)+(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}var d=0;if(f(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(f(b,4),"IHDR"!=f(b,4))null!=c&&c();else{f(b,17);do{c=h(b);var e=f(b,4);if(null!=a&&a(d-8,e,c))break;value=f(b,c);f(b,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(b){try{var a=mxUtils.parseXml(b),c=this.editor.extractGraphModel(a.documentElement,
-!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(t){}return!1};var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var h=b.indexOf("&lt;mxfile ");if(0<=h){var d=b.lastIndexOf("&lt;/mxfile&gt;");d>h&&(c=b.substring(h,d+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),g=this.editor.extractGraphModel(e.documentElement,
-null!=this.pages),c=null!=g?mxUtils.getXml(g):""}catch(w){}return c};EditorUi.prototype.validateFileData=function(b){if(null!=b&&0<b.length){var a=b.indexOf('<meta charset="utf-8">');0<=a&&(b=b.slice(0,a)+'<meta charset="utf-8"/>'+b.slice(a+23-1,b.length))}return b};EditorUi.prototype.replaceFileData=function(b){b=this.validateFileData(b);b=null!=b&&0<b.length?mxUtils.parseXml(b).documentElement:null;var a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b){a=this.editor.graph;
-a.model.beginUpdate();try{var c=null!=this.pages?this.pages.slice():null,d=b.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=b;this.pages=null!=this.pages?this.pages:[];for(var e=d.length-1;0<=e;e--){var g=this.updatePageRoot(new DiagramPage(d[e]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[e+1]));a.model.execute(new ChangePage(this,g,0==e?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=
-b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),a.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(b),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(e=0;e<c.length;e++)a.model.execute(new ChangePage(this,c[e],null))}finally{a.model.endUpdate()}}};EditorUi.prototype.createFileData=
-function(b,a,c,d,e,g,w,k,l,m){a=null!=a?a:this.editor.graph;e=null!=e?e:!1;l=null!=l?l:!0;var f,h=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":h=f=d;if(null==b)return"";var q=b;if("mxfile"!=q.nodeName.toLowerCase()){var t=a.zapGremlins(mxUtils.getXml(b)),q=a.compress(t);if(a.decompress(q)!=t)return t;t=b.ownerDocument.createElement("diagram");mxUtils.setTextContent(t,q);q=b.ownerDocument.createElement("mxfile");q.appendChild(t)}m?(q=q.cloneNode(!0),q.removeAttribute("userAgent"),
-q.removeAttribute("version"),q.removeAttribute("editor"),q.removeAttribute("type")):(q.setAttribute("userAgent",navigator.userAgent),q.setAttribute("version",EditorUi.VERSION),q.setAttribute("editor","www.draw.io"),b=null!=c?c.getMode():this.mode,null!=b&&q.setAttribute("type",b));b=mxUtils.getXml(q);if(!g&&!e&&(w||null!=c&&/(\.html)$/i.test(c.getTitle())))b=this.getHtml2(mxUtils.getXml(q),a,null!=c?c.getTitle():null,f,h);else if(g||!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
-App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),b=this.getEmbeddedSvg(b,a,d,null,k,l,h);return b};EditorUi.prototype.getXmlFileData=function(b,a){b=null!=b?b:!0;a=null!=a?a:!1;var c=this.editor.getGraphXml(b);if(b&&null!=this.fileNode&&null!=this.currentPage){var f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,f);c=this.fileNode.cloneNode(!1);if(a)c.appendChild(this.currentPage.node);else for(var d=0;d<this.pages.length;d++){var e=
-this.pages[d].mapping;this.currentPage!=this.pages[d]&&null!=e&&e.needsUpdate&&(f=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(f),f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(f))),mxUtils.setTextContent(this.pages[d].node,f),e.needsUpdate=!1);c.appendChild(this.pages[d].node)}}return c};EditorUi.prototype.getFileData=function(b,a,c,d,e,g,w,k,l){e=null!=e?e:!0;w=null!=w?w:this.getXmlFileData(e,null!=g?g:!1);l=null!=l?l:this.getCurrentFile();
-g=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(a||!b&&null!=l&&/(\.svg)$/i.test(l.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var f=g.getGlobalVariable,h=this.pages[0];g.getGlobalVariable=function(b){return"page"==b?h.getName():"pagenumber"==b?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(h.root)}b=this.createFileData(w,g,l,window.location.href,b,a,c,d,e,k);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);
-return b};EditorUi.prototype.getHtml=function(b,a,c,d,e,g){g=null!=g?g:!0;var f=null,h="https://www.draw.io/js/embed-static.min.js";if(null!=a){var f=g?a.getGraphBounds():a.getBoundingBox(a.getSelectionCells()),q=a.view.scale;g=Math.floor(f.x/q-a.view.translate.x);q=Math.floor(f.y/q-a.view.translate.y);f=a.background;null==e&&(a=this.getBasenames().join(";"),0<a.length&&(h="https://www.draw.io/embed.js?s="+a));b.setAttribute("x0",g);b.setAttribute("y0",q)}null!=b&&(b.setAttribute("pan","1"),b.setAttribute("zoom",
-"1"),b.setAttribute("resize","0"),b.setAttribute("fit","0"),b.setAttribute("border","20"),b.setAttribute("links","1"),null!=d&&b.setAttribute("edit",d));null!=e&&(e=e.replace(/&/g,"&amp;"));b=null!=b?this.editor.graph.zapGremlins(mxUtils.getXml(b)):"";d=this.editor.graph.compress(b);this.editor.graph.decompress(d)!=b&&(d=encodeURIComponent(b));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':
-">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+"</head>\n<body"+(null==e&&null!=f&&f!=mxConstants.NONE?' style="background-color:'+f+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==e?'<script type="text/javascript" src="'+h+'">\x3c/script>':
-'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(b,a,c,e,d){null!=d&&(d=d.replace(/&/g,"&amp;"));b={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(b),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(b.page=mxUtils.indexOf(this.pages,
-this.currentPage));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==d?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(b))+'"></div>\n'+(null==d?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+d+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(b){b=this.validateFileData(b);this.pages=this.fileNode=this.currentPage=null;var a=null!=b&&0<b.length?
-mxUtils.parseXml(b).documentElement:null;b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a&&"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<b.length||1==b.length&&b[0].hasAttribute("name"))){this.fileNode=a;this.pages=[];for(a=0;a<b.length;a++){var c=new DiagramPage(b[a]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[a+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(b){var a=this.getCurrentFile(),a=null!=a&&null!=
-a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));!b&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(a=a+"-"+this.currentPage.getName());return a};EditorUi.prototype.downloadFile=function(b,a,c,d,e,g,w){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e),
-h=f+"."+b;if("xml"==b){var m='<?xml version="1.0" encoding="UTF-8"?>\n'+(a?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(h,b,m,"text/xml")}else if("html"==b)m=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(h,b,m,"text/html");else if("svg"!=b&&"xmlsvg"!=b||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==b?h=f+".png":"jpeg"==b&&(h=f+".jpg"),this.saveRequest(h,b,mxUtils.bind(this,function(a,c){try{var f=
-this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var h=this.createDownloadRequest(a,b,d,c,w);this.editor.graph.pageVisible=f;return h}catch(C){this.handleError(C)}}));else{var q=null,t=mxUtils.bind(this,function(b){b.length<=MAX_REQUEST_SIZE?this.saveData(h,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==b){var u=this.editor.graph.background;if(w||u==
-mxConstants.NONE)u=null;var k=this.editor.graph.getSvg(u,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(k);this.convertImages(k,mxUtils.bind(this,mxUtils.bind(this,function(b){this.spinner.stop();t('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(b))})))}else h=f+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(b){this.spinner.stop();t(b)}),d)}}catch(A){this.handleError(A)}};
-EditorUi.prototype.createDownloadRequest=function(b,a,c,d,e){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=a);var h="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";if("xmlpng"==a&&(f="1",a="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){h="&from="+g;break}g=this.editor.graph.background;"png"==a&&e&&(g=mxConstants.NONE);
-return new mxXmlRequest(EXPORT_URL,"format="+a+h+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=b?"&filename="+encodeURIComponent(b):""))};EditorUi.prototype.setMode=function(b,a){this.mode=b};EditorUi.prototype.loadDescriptor=function(b,a,c){var f=window.location.hash,h=mxUtils.bind(this,function(c){var h=null!=b.data?b.data:"";null!=c&&0<c.length&&(0<h.length&&(h+="\n"),h+=c);c=new LocalFile(this,"csv"!=b.format&&0<h.length?h:this.emptyDiagramXml,
-null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return f};this.fileLoaded(c);"csv"==b.format&&this.importCsv(h,mxUtils.bind(this,function(b){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=b.update){var d=null!=b.interval?parseInt(b.interval):6E4,m=null,e=mxUtils.bind(this,function(){var a=this.currentPage;mxUtils.post(b.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),
-mxUtils.bind(this,function(b){a===this.currentPage&&(200<=b.getStatus()&&300>=b.getStatus()?(this.updateDiagram(b.getText()),g()):this.handleError({message:mxResources.get("error")+" "+b.getStatus()}))}),mxUtils.bind(this,function(b){this.handleError(b)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(m);m=window.setTimeout(e,d)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();e()}));g();e()}null!=a&&a()});if(null!=b.url){var d=b.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&&
-(d=PROXY_URL+"?url="+encodeURIComponent(b.url));this.loadUrl(d,mxUtils.bind(this,function(b){h(b)}),mxUtils.bind(this,function(b){null!=c&&c(b)}))}else h(b.data)};EditorUi.prototype.updateDiagram=function(b){function a(b){var a=new mxCellOverlay(b.image||d.warningImage,b.tooltip,b.align,b.valign,b.offset);a.addListener(mxEvent.CLICK,function(a,c){editorUi.alert(b.tooltip)});return a}var c=null;if(null!=b&&0<b.length&&(c=mxUtils.parseXml(b),b=null!=c?c.documentElement:null,null!=b&&"updates"==b.nodeName)){var d=
-this.editor.graph,e=d.getModel();e.beginUpdate();var g=null;try{for(b=b.firstChild;null!=b;){if("update"==b.nodeName){var w=e.getCell(b.getAttribute("id"));if(null!=w){try{var k=b.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(w,l);else for(var m=l.attributes,v=0;v<m.length;v++)d.setAttributeForCell(w,m[v].nodeName,0<m[v].nodeValue.length?m[v].nodeValue:null)}}catch(C){null!=window.console&&console.log("Error in value for "+
-w.id+": "+C)}try{var n=b.getAttribute("style");null!=n&&d.model.setStyle(w,n)}catch(C){null!=window.console&&console.log("Error in style for "+w.id+": "+C)}try{var p=b.getAttribute("icon");if(null!=p){var z=0<p.length?JSON.parse(p):null;null!=z&&z.append||d.removeCellOverlays(w);null!=z&&d.addCellOverlay(w,a(z))}}catch(C){null!=window.console&&console.log("Error in icon for "+w.id+": "+C)}try{var A=b.getAttribute("geometry");if(null!=A){var A=JSON.parse(A),B=d.getCellGeometry(w);if(null!=B){B=B.clone();
-for(key in A){var D=parseFloat(A[key]);"dx"==key?B.x+=D:"dy"==key?B.y+=D:"dw"==key?B.width+=D:"dh"==key?B.height+=D:B[key]=parseFloat(A[key])}d.model.setGeometry(w,B)}}}catch(C){null!=window.console&&console.log("Error in icon for "+w.id+": "+C)}}}else if("model"==b.nodeName){for(var J=b.firstChild;null!=J&&J.nodeType!=mxConstants.NODETYPE_ELEMENT;)J=J.nextSibling;null!=J&&(new mxCodec(b.firstChild)).decode(J,e)}else if("view"==b.nodeName){if(b.hasAttribute("scale")&&(d.view.scale=parseFloat(b.getAttribute("scale"))),
-b.hasAttribute("dx")||b.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(b.getAttribute("dx")||0),parseFloat(b.getAttribute("dy")||0))}else"fit"==b.nodeName&&(g=b.hasAttribute("max-scale")?parseFloat(b.getAttribute("max-scale")):1);b=b.nextSibling}}finally{e.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return c};EditorUi.prototype.fileLoaded=function(b){var a=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener),
-c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));
-this.updateUi();this.showSplash()});if(null!=b)try{this.setCurrentFile(b);b.addListener("descriptorChanged",this.descriptorChangedListener);b.addListener("contentChanged",this.descriptorChangedListener);b.open();this.setGraphEnabled(!0);this.setMode(b.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==b.realtime&&(b.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+
-"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));a=!0;this.isOffline()||null==b.getMode()||this.logEvent({category:"File",action:"open",label:b.getMode()});if(this.mode==b.getMode()&&b.getMode()!=
-App.MODE_DEVICE&&null!=b.getMode())try{this.addRecent({id:b.getHash(),title:b.getTitle(),mode:b.getMode()})}catch(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){null!=window.console&&console.log("error in fileLoaded:",b,q);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+
-(null!=q&&null!=q.message?":err:"+encodeURIComponent(q.message):"")+(null!=q&&null!=q.stack?"&stack="+encodeURIComponent(q.stack):"")}catch(u){}this.handleError(q,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return a};EditorUi.prototype.descriptorChanged=
-function(){};EditorUi.prototype.logEvent=function(b){if(EditorUi.enableLogging)try{var a=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=a+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=b?"&data="+encodeURIComponent(JSON.stringify(b)):"")}catch(h){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(b,a,c,d,e,g,w){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=
-function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(b){null==b&&(b=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,b,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(b){var a=mxUtils.createXmlDocument(),c=a.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(b));a.appendChild(c);return mxUtils.getXml(a)};EditorUi.prototype.closeLibrary=function(b){null!=
-b&&(this.removeLibrarySidebar(b.getHash()),b.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(b.getHash()),".scratchpad"==b.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(b){var a=this.sidebar.palettes[b];if(null!=a){for(var c=0;c<a.length;c++)a[c].parentNode.removeChild(a[c]);delete this.sidebar.palettes[b]}};EditorUi.prototype.repositionLibrary=function(b){var a=this.sidebar.container;if(null==b){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=
-this.sidebar.palettes.search);null!=c&&(b=c[c.length-1].nextSibling)}b=null!=b?b:a.firstChild.nextSibling.nextSibling;var c=a.lastChild,d=c.previousSibling;a.insertBefore(c,b);a.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(b){var a=mxUtils.parseXml(b.getData());if("mxlibrary"==a.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(a.documentElement));this.libraryLoaded(b,c,a.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};
-EditorUi.prototype.getLibraryStorageHint=function(b){return""};EditorUi.prototype.libraryLoaded=function(b,a,c){if(null!=this.sidebar){b.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(b.getHash());".scratchpad"==b.title&&(this.scratchpad=b);var f=this.sidebar.palettes[b.getHash()],f=null!=f?f[f.length-1].nextSibling:null;this.removeLibrarySidebar(b.getHash());var h=null,d=mxUtils.bind(this,function(a,c){if(0==a.length&&b.isEditable())null==h&&(h=document.createElement("div"),mxUtils.setPrefixedStyle(h.style,
-"borderRadius","6px"),h.style.border="3px dotted lightGray",h.style.textAlign="center",h.style.padding="8px",h.style.color="#B3B3B3",mxUtils.write(h,mxResources.get("dragElementsHere"))),c.appendChild(h);else for(var f=0;f<a.length;f++){var d=a[f],m=d.data;if(null!=m){var m=this.convertDataUri(m),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==d.aspect&&(e+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(e+"image="+m,d.w,d.h,"",d.title||"",!1,
-!1,!0))}else null!=d.xml&&(m=this.stringToCells(this.editor.graph.decompress(d.xml)),0<m.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(m,d.w,d.h,d.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=a)for(var e=0;e<a.length;e++)mxUtils.bind(this,function(b){var a=b.data;null!=a&&null!=b.title?this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){a=this.convertDataUri(a);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==b.aspect&&(c+=
-"aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+a,b.w,b.h,"",b.title||"",!1,!1,!0)})):null!=b.xml&&null!=b.title&&this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){var a=this.stringToCells(this.editor.graph.decompress(b.xml));return this.sidebar.createVertexTemplateFromCells(a,b.w,b.h,b.title||"",!0,!1,!0)}))})(a[e]);c=null!=c&&0<c.length?c:b.getTitle();var g=this.sidebar.addPalette(b.getHash(),c,!0,mxUtils.bind(this,function(b){d(a,b)}));this.repositionLibrary(f);var k=
-g.parentNode.previousSibling;c=k.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=b.title&&k.setAttribute("title",this.getLibraryStorageHint(b)+"\n"+c);var m=document.createElement("div");m.style.position="absolute";m.style.right="0px";m.style.top="0px";m.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(m.style.backgroundColor="inherit");k.style.position="relative";var v=document.createElement("img");v.setAttribute("src",Dialog.prototype.closeImage);v.setAttribute("title",
-mxResources.get("close"));v.setAttribute("valign","absmiddle");v.setAttribute("border","0");v.style.margin="0 3px";var l=null;if(".scratchpad"!=b.title||this.closableScratchpad)m.appendChild(v),mxEvent.addListener(v,"click",mxUtils.bind(this,function(a){if(!mxEvent.isConsumed(a)){var c=mxUtils.bind(this,function(){this.closeLibrary(b)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(a)}}));if(b.isEditable()){var n=
-this.editor.graph,p=null,A=mxUtils.bind(this,function(c){this.showLibraryDialog(b.getTitle(),g,a,b,b.getMode());mxEvent.consume(c)}),B=mxUtils.bind(this,function(c){b.setModified(!0);b.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=v.cloneNode(!1),p.setAttribute("src",Editor.spinImage),p.setAttribute("title",mxResources.get("saving")),p.style.cursor="default",p.style.marginRight="2px",p.style.marginTop="-2px",m.insertBefore(p,m.firstChild),k.style.paddingRight=18*m.childNodes.length+
-"px",this.saveLibrary(b.getTitle(),a,b,b.getMode(),!0,!0,function(){null!=p&&null!=p.parentNode&&(p.parentNode.removeChild(p),k.style.paddingRight=18*m.childNodes.length+"px")})):null==l&&(l=v.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),m.insertBefore(l,m.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(c){this.saveLibrary(b.getTitle(),a,b,b.getMode(),b.constructor==LocalLibrary,!0,function(){null==l||b.isModified()||
-(k.style.paddingRight=18*m.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),k.style.paddingRight=18*m.childNodes.length+"px")}),D=mxUtils.bind(this,function(b,c,f,d){b=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(b)));for(var m=0;m<b.length;m++){var e=n.getCellGeometry(b[m]);null!=e&&e.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(b,c.width,c.height,d||"",!0,!1,!1));b={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(b))),
-w:c.width,h:c.height};null!=d&&(b.title=d);a.push(b);B(f);null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null)}),J=mxUtils.bind(this,function(b){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(b),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var a=n.getSelectionCells(),c=n.view.getBounds(a),f=n.view.scale;c.x/=f;c.y/=f;c.width/=f;c.height/=f;c.x-=n.view.translate.x;
-c.y-=n.view.translate.y;D(a,c)}mxEvent.consume(b)});g.style.border="3px solid transparent";mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="hidden",null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)",g.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!1),
-null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(b))}),mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(g.style.border="3px solid transparent",null!=h&&(h.style.border="3px dotted lightGray"),g.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=!1,n.autoScroll=!0,J(b),mxEvent.consume(b))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(b){n.isMouseDown&&
-null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="visible",g.style.border="3px solid transparent",g.style.cursor="",n.autoScroll=!0,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!0),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),null!=h&&(h.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(b){null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)";
-b.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(b){g.style.border="3px solid transparent";g.style.cursor="";null!=h&&(h.style.border="3px dotted lightGray");0<b.dataTransfer.files.length&&this.importFiles(b.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,f,m,e,q,v,t,w,k){if(null!=c&&"image/"==f.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+
-this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,q,v),c)],c[0].vertex=!0,D(c,new mxRectangle(0,0,q,v),b,mxEvent.isAltDown(b)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null);else{var u=!1,l=mxUtils.bind(this,function(c,f){if(null!=c&&"text/xml"==f){var m=mxUtils.parseXml(c);if("mxlibrary"==m.documentElement.nodeName)try{var e=JSON.parse(mxUtils.getTextContent(m.documentElement));d(e,g);a=a.concat(e);B(b);
-this.spinner.stop();u=!0}catch(U){}else if("mxfile"==m.documentElement.nodeName)try{for(var q=m.documentElement.getElementsByTagName("diagram"),m=0;m<q.length;m++){var e=mxUtils.getTextContent(q[m]),v=this.stringToCells(this.editor.graph.decompress(e)),t=this.editor.graph.getBoundingBoxFromGeometry(v);D(v,new mxRectangle(0,0,t.width,t.height),b)}u=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}u||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
-null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null)});null!=k&&null!=t&&(/(\.vsdx?)($|\?)/i.test(t)||/(\.vssx)($|\?)/i.test(t))?this.importVisio(k,function(b){l(b,"text/xml")},null,t):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,t)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(b){4==b.readyState&&(this.spinner.stop(),200<=b.status&&299>=b.status?l(b.responseText,"text/xml"):this.handleError({message:mxResources.get(413==b.status?"drawingTooLarge":
-"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):l(c,f)}}));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"dragleave",function(b){null!=h?h.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",g.style.cursor="");b.stopPropagation();b.preventDefault()}));v=v.cloneNode(!1);v.setAttribute("src",Editor.editImage);v.setAttribute("title",mxResources.get("edit"));m.insertBefore(v,m.firstChild);mxEvent.addListener(v,"click",A);mxEvent.addListener(g,
-"dblclick",function(b){mxEvent.getSource(b)==g&&A(b)});c=v.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));m.insertBefore(c,m.firstChild);mxEvent.addListener(c,"click",J);this.isOffline()||".scratchpad"!=b.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,
-mxUtils.bind(this,function(b){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(b)})),m.insertBefore(c,m.firstChild))}k.appendChild(m);k.style.paddingRight=18*m.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var b=document.getElementById("geFooter");
-if(null!=b){b.style.visibility="visible";var a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",Dialog.prototype.closeImage);a.setAttribute("title",mxResources.get("hide"));b.appendChild(a);mxClient.IS_QUIRKS&&(a.style.position="relative",a.style.styleFloat="right",a.style.top="-30px",a.style.left="164px",a.style.cursor="pointer");mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return b});EditorUi.initTheme=function(){"atlas"==uiTheme?
-(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
-5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
-Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
-Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var b=document.getElementById("geFooter");null!=b&&(this.footerHeight=0,b.style.display=
-"none",this.refresh())};EditorUi.prototype.showFooter=function(b){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=b,a.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(b,a,c,d,e){b=new ImageDialog(this,b,a,c,d,e);this.showDialog(b.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);b.init()};EditorUi.prototype.showBackgroundImageDialog=function(b){b=null!=b?b:mxUtils.bind(this,function(b){b=new ChangePageSetup(this,null,b);b.ignoreColor=
-!0;this.editor.graph.model.execute(b)});var a=new BackgroundImageDialog(this,mxUtils.bind(this,function(a){b(a)}));this.showDialog(a.container,360,200,!0,!0);a.init()};EditorUi.prototype.showLibraryDialog=function(b,a,c,d,e){b=new LibraryDialog(this,b,a,c,d,e);this.showDialog(b.container,620,440,!0,!1,mxUtils.bind(this,function(b){b&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));b.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var b=this.createDiv("geSidebarContainer");
-b.style.position="absolute";b.style.overflow="hidden";b.style.borderWidth="3px";var a=document.createElement("a");a.setAttribute("href","javascript:void(0);");a.className="geTitle";a.style.height="100%";a.style.paddingTop="9px";mxUtils.write(a,mxResources.get("moreShapes")+"...");mxEvent.addListener(a,"click",mxUtils.bind(this,function(b){this.actions.get("shapes").funct();mxEvent.consume(b)}));b.appendChild(a);return b};EditorUi.prototype.handleError=function(b,a,c){var f=null!=this.spinner&&null!=
-this.spinner.pause?this.spinner.pause():function(){},h=null!=b&&null!=b.error?b.error:b;if(null!=h||null!=a){b=mxUtils.htmlEntities(mxResources.get("unknownError"));var d=mxResources.get("ok"),e=null;a=null!=a?a:mxResources.get("error");if(null!=h)if(null!=h.retry&&(d=mxResources.get("cancel"),e=function(){f();h.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.FORBIDDEN)b=mxUtils.htmlEntities(mxResources.get("forbidden"));
-else if(404==h.code||404==h.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.NOT_FOUND){b=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var g=window.location.hash;null!=g&&"#G"==g.substring(0,2)&&(g=g.substring(2),b+=' <a href="https://drive.google.com/open?id='+g+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else h.code==App.ERROR_TIMEOUT?b=
-mxUtils.htmlEntities(mxResources.get("timeout")):h.code==App.ERROR_BUSY?b=mxUtils.htmlEntities(mxResources.get("busy")):null!=h.message?b=mxUtils.htmlEntities(h.message):null!=h.response&&null!=h.response.error&&(b=mxUtils.htmlEntities(h.response.error));this.showError(a,b,d,c,e)}else null!=c&&c()};EditorUi.prototype.showError=function(b,a,c,d,e,g,w,k,l,m,v,n){b=new ErrorDialog(this,b,a,c||mxResources.get("ok"),d,e,g,w,n,k,l);this.showDialog(b.container,m||340,v||150,!0,!1);b.init()};EditorUi.prototype.alert=
-function(b,a){var c=new ErrorDialog(this,null,b,mxResources.get("ok"),a);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(b,a,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,b,function(){f();null!=a&&a()},function(){f();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(b){this.currentFile=b};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
-EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(b){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(b)))};EditorUi.prototype.createImageDataUri=function(b,a,c){var f=b.toDataURL("image/"+c);if(6>=f.length||f==b.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=a&&(f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(a))));
-return f};EditorUi.prototype.saveCanvas=function(b,a,c){var f="jpeg"==c?"jpg":c,h=this.getBaseFilename()+"."+f;b=this.createImageDataUri(b,a,c);this.saveData(h,f,b.substring(b.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};
-EditorUi.prototype.doSaveLocalFile=function(b,a,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)b=d?this.base64ToBlob(b,c):new Blob([b],{type:c}),navigator.msSaveOrOpenBlob(b,a);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(b,!0):(c.document.write(b),c.document.close(),c.document.execCommand("SaveAs",!0,a),c.close());else if(mxClient.IS_IOS)a=new TextareaDialog(this,a+":",b,null,null,mxResources.get("close")),a.textarea.style.width="600px",a.textarea.style.height=
-"380px",this.showDialog(a.container,620,460,!0,!0),a.init(),document.execCommand("selectall",!1,null);else{var f=document.createElement("a"),h=!mxClient.IS_SF&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),h=65==(g?parseInt(g[2],10):!1)?!1:h;if(h||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(b,c):new Blob([b],{type:c}));h?f.download=a:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},
-0),f.click(),f.parentNode.removeChild(f)}catch(x){}}else this.createEchoRequest(b,a,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(b,a,c,d,e,g){b="xml="+encodeURIComponent(b);return new mxXmlRequest(SAVE_URL,b+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=a?"&filename="+encodeURIComponent(a):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(b,a){a=a||"";for(var c=atob(b),f=c.length,d=Math.ceil(f/1024),e=Array(d),
-g=0;g<d;++g){for(var k=1024*g,l=Math.min(k+1024,f),m=Array(l-k),v=0;k<l;++v,++k)m[v]=c[k].charCodeAt(0);e[g]=new Uint8Array(m)}return new Blob(e,{type:a})};EditorUi.prototype.saveLocalFile=function(b,a,c,d,e,g,w){g=null!=g?g:!1;w=null!=w?w:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var h=window.open("about:blank");
-null==h?mxUtils.popup(b,!0):(h.document.write(mxUtils.htmlEntities(b,!1)),h.document.close())}else this.openInNewWindow(b,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(b,a,c,d):null!=a&&0<a.length&&this.pickFolder(f,mxUtils.bind(this,function(h){try{this.exportFile(b,a,c,d,f,h)}catch(H){this.handleError(H)}}))}catch(v){this.handleError(v)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,w,null,1<e,4<e&&(!g||6>e)?3:4,
-b,c,d);this.showDialog(a.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);a.init()};EditorUi.prototype.openInNewWindow=function(b,a,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var f=window.open("about:blank");null==f?mxUtils.popup(b,!0):("image/svg+xml"==a?f.document.write("<html>"+b+"</html>"):f.document.write('<html><img src="data:'+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))+'"/></html>'),f.document.close())}else f=window.open("data:"+
-a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))),null==f&&mxUtils.popup(b,!0)};var e=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(b){if(this.isExportToCanvas()){this.exportDialog=null;var a=b(mxUtils.bind(this,function(b){var c=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",c);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=
-this.exportDialog)c.apply(this);else{this.exportDialog=document.createElement("div");var f=a.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color=
-"#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=f.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";f=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=f.zIndex;var d=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});d.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,
-function(b){d.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var a=this.createImageDataUri(b,null,"png");b=document.createElement("img");b.style.maxWidth="140px";b.style.maxHeight="140px";b.style.cursor="pointer";b.setAttribute("title",mxResources.get("openInNewWindow"));b.setAttribute("border","0");b.setAttribute("src",a);this.exportDialog.appendChild(b);mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.openInNewWindow(a.substring(a.indexOf(",")+
-1),"image/png",!0);c.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}));mxEvent.addListener(this.editor.graph.container,"click",c);document.body.appendChild(this.exportDialog)}mxEvent.consume(b)}),Editor.cameraLargeImage,mxResources.get("export"))}e.apply(this,arguments)};EditorUi.prototype.saveData=function(b,a,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,b,d,e,a):this.saveRequest(b,a,mxUtils.bind(this,function(b,
-f){return this.createEchoRequest(c,b,d,e,a,f)}),c,e,d)};EditorUi.prototype.saveRequest=function(b,a,c,d,e,g,w){w=null!=w?w:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){if("_blank"==f||null!=b&&0<b.length){var h=c("_blank"==f?null:b,f==App.MODE_DEVICE||"download"==f||null==f||"_blank"==f?"0":"1");null!=h&&(f==App.MODE_DEVICE||"download"==f||"_blank"==f?h.simulate(document,"_blank"):this.pickFolder(f,mxUtils.bind(this,
-function(c){g=null!=g?g:"pdf"==a?"application/pdf":"image/"+a;if(null!=d)try{this.exportFile(d,b,g,!0,f,c)}catch(G){this.handleError(G)}else this.spinner.spin(document.body,mxResources.get("saving"))&&h.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=h.getStatus()&&299>=h.getStatus())try{this.exportFile(h.getText(),b,g,!0,f,c)}catch(G){this.handleError(G)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(b){this.spinner.stop();this.handleError(b)})})))}}),
-mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,w,null,1<f,4<f?3:4,d,g,e);this.showDialog(b.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);b.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(b,a,c,d,e,g){};EditorUi.prototype.pickFolder=function(b,a,c){a(null)};EditorUi.prototype.exportSvg=function(b,a,c,d,e,g,w,k,l){if(this.spinner.spin(document.body,
-mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;f=a?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==a&&(f="#ffffff");var h=this.editor.graph.getSvg(f,b,w,k,null,c);d&&this.editor.graph.addSvgShadow(h);var q=this.getBaseFilename()+".svg",t=mxUtils.bind(this,function(b){this.spinner.stop();e&&b.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var a=b.ownerDocument,a=null!=a.createElementNS?
-a.createElementNS(mxConstants.NS_SVG,"style"):a.createElement("style");a.setAttribute("type","text/css");mxUtils.setTextContent(a,this.editor.fontCss);b.getElementsByTagName("defs")[0].appendChild(a)}var f='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(b);this.isLocalFileSave()||f.length<=MAX_REQUEST_SIZE?this.saveData(q,"svg",f,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
-mxUtils.bind(this,function(){mxUtils.popup(f)}))});this.convertMath(this.editor.graph,h,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(h,t,this.thumbImageCache)):t(h)}))}};EditorUi.prototype.addCheckbox=function(b,a,c,d,e,g){g=null!=g?g:!0;var f=document.createElement("input");f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type","checkbox");c&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled",
-"disabled");g&&(b.appendChild(f),c=document.createElement("span"),mxUtils.write(c,a),b.appendChild(c),e||mxUtils.br(b),mxEvent.addListener(c,"click",mxUtils.bind(this,function(b){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(b))})));return f};EditorUi.prototype.addEditButton=function(b,a){var c=this.addCheckbox(b,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var f=this.getCurrentFile(),d="";null!=f&&f.getMode()!=App.MODE_DEVICE&&f.getMode()!=App.MODE_BROWSER&&
-(d=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("makeCopy"));e.appendChild(f);f=document.createElement("option");f.setAttribute("value","custom");mxUtils.write(f,mxResources.get("custom")+"...");e.appendChild(f);b.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==
-e.value){var b=new FilenameDialog(this,d,mxResources.get("ok"),function(b){null!=b?d=b:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(b.container,300,80,!0,!1);b.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==a||a.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(b);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":d:null},getEditInput:function(){return c},
-getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(b,a){function c(){g.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(b,mxResources.get("links")+":");var f=document.createElement("select");f.style.width="100px";f.style.marginLeft=
-"8px";f.style.marginRight="10px";f.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));f.appendChild(d);a&&(d=document.createElement("option"),d.setAttribute("value",
-"frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),f.appendChild(d));b.appendChild(f);mxUtils.write(b,mxResources.get("borderColor")+":");var e="#0000ff",g=null,g=mxUtils.button("",mxUtils.bind(this,function(b){this.pickColor(e||"none",function(b){e=b;c()});mxEvent.consume(b)}));c();g.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";g.style.marginLeft="4px";g.style.height="22px";g.style.width="22px";g.style.position="relative";g.style.top=mxClient.IS_IE||
-mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";g.className="geColorBtn";b.appendChild(g);mxUtils.br(b);return{getColor:function(){return e},getTarget:function(){return f.value},focus:function(){f.focus()}}};EditorUi.prototype.createLink=function(b,a,c,d,e,g,k,l){var f=this.getCurrentFile(),h=[];d&&(h.push("lightbox=1"),"auto"!=b&&h.push("target="+b),null!=a&&a!=mxConstants.NONE&&h.push("highlight="+("#"==a.charAt(0)?a.substring(1):a)),null!=e&&0<e.length&&h.push("edit="+encodeURIComponent(e)),g&&
-h.push("layers=1"),this.editor.graph.foldingEnabled&&h.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(b=0;b<this.pages.length;b++)if(this.pages[b]==this.currentPage){0<b&&h.push("page="+b);break}b=!0;null!=k?c="#U"+encodeURIComponent(k):(f=this.getCurrentFile(),l||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),b=!1));
-b&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&h.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<h.length?"?"+h.join("&"):"")+c};EditorUi.prototype.createHtml=function(b,a,c,d,e,g,k,l,n,m,v){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);n||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled;
-c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];k&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));a&&(c.push("zoom"),f.resize=!0);l&&c.push("layers");0<c.length&&(n&&c.push("lightbox"),f.toolbar=c.join(" "));null!=m&&0<m.length&&(f.edit=m);null!=b?f.url=b:f.xml=this.getFileData(!0,null,null,null,null,!k);a='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';b=null!=b?"&fetch="+encodeURIComponent(b):"";v(a,'<script type="text/javascript" src="'+(0<b.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+b:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(b,a,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");
-mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(e);var h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");e=g.cloneNode(!0);e.setAttribute("value",
-"copy");h.appendChild(e);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));h.appendChild(k);mxUtils.br(h);h.appendChild(g);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));h.appendChild(k);var m=this.getCurrentFile();null==c&&null!=m&&m.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
-h.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(m.getId())})));e.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");f.appendChild(h);var v=this.addLinkSection(f),t=this.addCheckbox(f,mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight=
-"12px";l.value="100%";f.appendChild(l);var n=this.addCheckbox(f,mxResources.get("fit"),!0),h=null!=this.pages&&1<this.pages.length,p=p=this.addCheckbox(f,mxResources.get("allPages"),h,!h),B=this.addCheckbox(f,mxResources.get("layers"),!0),D=this.addCheckbox(f,mxResources.get("lightbox"),!0),J=this.addEditButton(f,D),C=J.getEditInput();C.style.marginBottom="16px";mxEvent.addListener(D,"change",function(){D.checked?C.removeAttribute("disabled"):C.setAttribute("disabled","disabled");C.checked&&D.checked?
-J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?c:null,t.checked,l.value,v.getTarget(),v.getColor(),n.checked,p.checked,B.checked,D.checked,J.getLink())}),null,b,a);this.showDialog(b.container,340,384,!0,!0);e.focus()};EditorUi.prototype.showPublishLinkDialog=function(b,a,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=document.createElement("h3");
-mxUtils.write(h,b||mxResources.get("link"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(h);var k=this.getCurrentFile(),h="https://desk.draw.io/support/solutions/articles/16000051941";b=0;if(null!=k&&k.constructor==window.DriveFile&&!a){b=80;var h="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
-var v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));m.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));v.style.marginTop="12px";v.className="geBtn";m.appendChild(v);f.appendChild(m);v=document.createElement("a");v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check"));
-m.appendChild(v);mxEvent.addListener(v,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(b){this.spinner.stop();b=new ErrorDialog(this,null,mxResources.get(null!=b?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(b.container,300,80,!0,!1);b.init()}))}))}var q=null,t=null;if(null!=c||null!=d)b+=30,mxUtils.write(f,mxResources.get("width")+":"),q=document.createElement("input"),
-q.setAttribute("type","text"),q.style.marginRight="16px",q.style.width="50px",q.style.marginLeft="6px",q.style.marginRight="16px",q.style.marginBottom="10px",q.value="100%",f.appendChild(q),mxUtils.write(f,mxResources.get("height")+":"),t=document.createElement("input"),t.setAttribute("type","text"),t.style.width="50px",t.style.marginLeft="6px",t.style.marginBottom="10px",t.value=d+"px",f.appendChild(t),mxUtils.br(f);var l=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var n=null;
-if(null==k||k.constructor!=window.DriveFile||a)n=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var u=this.addCheckbox(f,mxResources.get("lightbox"),!0),p=this.addEditButton(f,u),J=p.getEditInput(),C=this.addCheckbox(f,mxResources.get("layers"),!0);C.style.marginLeft=J.style.marginLeft;C.style.marginBottom="16px";C.style.marginTop="8px";mxEvent.addListener(u,"change",function(){u.checked?(C.removeAttribute("disabled"),J.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),J.setAttribute("disabled",
-"disabled"));J.checked&&u.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){e(l.getTarget(),l.getColor(),null==n?!0:n.checked,u.checked,p.getLink(),C.checked,null!=q?q.value:null,null!=t?t.value:null)}),null,mxResources.get("create"),h);this.showDialog(a.container,340,254+b,!0,!0);null!=q?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():
-document.execCommand("selectAll",!1,null)):l.focus()};EditorUi.prototype.showRemoteExportDialog=function(b,a,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("image"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(e);var h=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),
-!0),e=this.editor.graph,k=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),e.background==mxConstants.NONE||null==e.background);null!=k&&(k.style.marginBottom="16px");b=new CustomDialog(this,f,mxUtils.bind(this,function(){c(!h.checked,null!=g?g.checked:!1,null!=k?k.checked:!1)}),null,b,a);this.showDialog(b.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(b,a,c,d,e,g,k,l){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=
-this.editor.graph,v="jpeg"==l?196:300,q=document.createElement("h3");mxUtils.write(q,b);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(q);mxUtils.write(f,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";f.appendChild(t);mxUtils.write(f,mxResources.get("borderWidth")+":");
-var w=document.createElement("input");w.setAttribute("type","text");w.style.marginRight="16px";w.style.width="60px";w.style.marginLeft="4px";w.value=this.lastExportBorder||"0";f.appendChild(w);mxUtils.br(f);var n=this.addCheckbox(f,mxResources.get("transparentBackground"),h.background==mxConstants.NONE||null==h.background,null,null,"jpeg"!=l),u=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,h.isSelectionEmpty()),p=document.createElement("input");p.style.marginTop="16px";p.style.marginRight=
-"8px";p.style.marginLeft="24px";p.setAttribute("disabled","disabled");p.setAttribute("type","checkbox");g&&(f.appendChild(p),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),v+=26,mxEvent.addListener(u,"change",function(){u.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled")}));h.isSelectionEmpty()||(p.setAttribute("checked","checked"),p.defaultChecked=!0);var y=this.addCheckbox(f,mxResources.get("shadow"),h.shadowVisible),C=document.createElement("input");C.style.marginTop=
-"16px";C.style.marginRight="8px";C.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||C.setAttribute("disabled","disabled");a&&(f.appendChild(C),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),v+=26);var L=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),k,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,F=this.addCheckbox(f,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);F.style.marginLeft="24px";F.style.marginBottom="16px";E||(F.style.visibility=
-"hidden");mxEvent.addListener(L,"change",function(){L.checked&&E?F.removeAttribute("disabled"):F.setAttribute("disabled","disabled")});k&&E||F.setAttribute("disabled","disabled");b=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=w.value;this.lastExportZoom=t.value;e(t.value,n.checked,!u.checked,y.checked,L.checked,C.checked,w.value,p.checked,!F.checked)}),null,c,d);this.showDialog(b.container,340,v,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
-mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(b,a,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=this.editor.graph;if(null!=a){var g=document.createElement("h3");mxUtils.write(g,a);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(g)}var k=this.addCheckbox(f,mxResources.get("fit"),!0),m=this.addCheckbox(f,mxResources.get("shadow"),h.shadowVisible&&d,
-!d),v=this.addCheckbox(f,c),q=this.addCheckbox(f,mxResources.get("lightbox"),!0),t=this.addEditButton(f,q),l=t.getEditInput(),n=1<h.model.getChildCount(h.model.getRoot()),p=this.addCheckbox(f,mxResources.get("layers"),n,!n);p.style.marginLeft=l.style.marginLeft;p.style.marginBottom="12px";p.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(n&&p.removeAttribute("disabled"),l.removeAttribute("disabled")):(p.setAttribute("disabled","disabled"),l.setAttribute("disabled","disabled"));
-l.checked&&q.checked?t.getEditSelect().removeAttribute("disabled"):t.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){b(k.checked,m.checked,v.checked,q.checked,t.getLink(),p.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=" ",t="";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);\"",t+="cursor:pointer;");b&&(t+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(b){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=t?' style="'+t+'"':"")+q+"/>")}))}else t="",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);"),t+="cursor:pointer;"),b&&(b=parseInt(f.getAttribute("width")),a=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+b+" "+a),t+="max-width:100%;max-height:"+a+"px;",f.removeAttribute("height")),""!=t&&f.setAttribute("style",t),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+
+!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=
+null!=b&&6<b.length}catch(t){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(q){}try{a=document.createElement("canvas");a.width=a.height=1;var e=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(q){}})();
+EditorUi.prototype.openLink=function(b,a){return this.editor.graph.openLink(b,a)};EditorUi.prototype.showSplash=function(b){};EditorUi.prototype.getLocalData=function(b,a){a(localStorage.getItem(b))};EditorUi.prototype.setLocalData=function(b,a,c){localStorage.setItem(b,a);c()};EditorUi.prototype.removeLocalData=function(b,a){localStorage.removeItem(b);a()};EditorUi.prototype.setMathEnabled=function(b){this.editor.graph.mathEnabled=b;this.editor.updateGraphComponents();this.editor.graph.refresh();
+this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(b){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(b,a,c){c=null!=c?c:24;var f=new Spinner({lines:12,
+length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),h=f.spin;f.spin=function(c,e){var d=!1;this.active||(h.call(this,c),this.active=!0,null!=e&&(d=document.createElement("div"),d.style.position="absolute",d.style.whiteSpace="nowrap",d.style.background="#4B4243",d.style.color="white",d.style.fontFamily="Helvetica, Arial",d.style.fontSize="9pt",d.style.padding="6px",d.style.paddingLeft="10px",d.style.paddingRight=
+"10px",d.style.zIndex=2E9,d.style.left=Math.max(0,b)+"px",d.style.top=Math.max(0,a+70)+"px",mxUtils.setPrefixedStyle(d.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(d.style,"boxShadow","2px 2px 3px 0px #ddd"),d.innerHTML=e+"...",c.appendChild(d),f.status=d,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(d.style.left=Math.round(Math.max(0,b-d.offsetWidth/2))+"px",d.style.top=Math.round(Math.max(0,
+a+70-d.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var b=function(){};this.active&&(b=mxUtils.bind(this,function(){this.spin(c,e)}));this.stop();return b}),d=!0);return d};var e=f.stop;f.stop=function(){e.call(this);this.active=!1;null!=f.status&&(f.status.parentNode.removeChild(f.status),f.status=null)};f.pause=function(){return function(){}};return f};EditorUi.parsePng=function(b,a,c){function f(b,a){var c=e;e+=a;return b.substring(c,e)}function h(b){b=f(b,4);return b.charCodeAt(3)+
+(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}var e=0;if(f(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(f(b,4),"IHDR"!=f(b,4))null!=c&&c();else{f(b,17);do{c=h(b);var d=f(b,4);if(null!=a&&a(e-8,d,c))break;value=f(b,c);f(b,4);if("IEND"==d)break}while(c)}};EditorUi.prototype.isCompatibleString=function(b){try{var a=mxUtils.parseXml(b),c=this.editor.extractGraphModel(a.documentElement,!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(u){}return!1};
+var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var h=b.indexOf("&lt;mxfile ");if(0<=h){var e=b.lastIndexOf("&lt;/mxfile&gt;");e>h&&(c=b.substring(h,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var d=mxUtils.parseXml(b),g=this.editor.extractGraphModel(d.documentElement,null!=this.pages),c=null!=g?mxUtils.getXml(g):""}catch(w){}return c};EditorUi.prototype.validateFileData=
+function(b){if(null!=b&&0<b.length){var a=b.indexOf('<meta charset="utf-8">');0<=a&&(b=b.slice(0,a)+'<meta charset="utf-8"/>'+b.slice(a+23-1,b.length))}return b};EditorUi.prototype.replaceFileData=function(b){b=this.validateFileData(b);b=null!=b&&0<b.length?mxUtils.parseXml(b).documentElement:null;var a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b){a=this.editor.graph;a.model.beginUpdate();try{var c=null!=this.pages?this.pages.slice():null,e=b.getElementsByTagName("diagram");
+if("0"!=urlParams.pages||1<e.length||1==e.length&&e[0].hasAttribute("name")){this.fileNode=b;this.pages=null!=this.pages?this.pages:[];for(var d=e.length-1;0<=d;d--){var g=this.updatePageRoot(new DiagramPage(e[d]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[d+1]));a.model.execute(new ChangePage(this,g,0==d?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),
+this.currentPage.setName(mxResources.get("pageWithNumber",[1])),a.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(b),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(d=0;d<c.length;d++)a.model.execute(new ChangePage(this,c[d],null))}finally{a.model.endUpdate()}}};EditorUi.prototype.createFileData=function(b,a,c,e,d,g,w,k,m,l){a=null!=a?a:this.editor.graph;d=null!=d?d:!1;m=null!=m?m:!0;var f,h=null;null==c||
+c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":h=f=e;if(null==b)return"";var q=b;if("mxfile"!=q.nodeName.toLowerCase()){var u=a.zapGremlins(mxUtils.getXml(b)),q=a.compress(u);if(a.decompress(q)!=u)return u;u=b.ownerDocument.createElement("diagram");mxUtils.setTextContent(u,q);q=b.ownerDocument.createElement("mxfile");q.appendChild(u)}l?(q=q.cloneNode(!0),q.removeAttribute("userAgent"),q.removeAttribute("version"),q.removeAttribute("editor"),q.removeAttribute("type")):(q.setAttribute("userAgent",
+navigator.userAgent),q.setAttribute("version",EditorUi.VERSION),q.setAttribute("editor","www.draw.io"),b=null!=c?c.getMode():this.mode,null!=b&&q.setAttribute("type",b));b=mxUtils.getXml(q);if(!g&&!d&&(w||null!=c&&/(\.html)$/i.test(c.getTitle())))b=this.getHtml2(mxUtils.getXml(q),a,null!=c?c.getTitle():null,f,h);else if(g||!d&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),b=this.getEmbeddedSvg(b,a,e,null,k,m,h);return b};EditorUi.prototype.getXmlFileData=
+function(b,a){b=null!=b?b:!0;a=null!=a?a:!1;var c=this.editor.getGraphXml(b);if(b&&null!=this.fileNode&&null!=this.currentPage){var f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,f);c=this.fileNode.cloneNode(!1);if(a)c.appendChild(this.currentPage.node);else for(var e=0;e<this.pages.length;e++){var d=this.pages[e].mapping;this.currentPage!=this.pages[e]&&null!=d&&d.needsUpdate&&(f=(new mxCodec(mxUtils.createXmlDocument())).encode(d.graphModel),
+d.writeRealtimeToNode(f),f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(f))),mxUtils.setTextContent(this.pages[e].node,f),d.needsUpdate=!1);c.appendChild(this.pages[e].node)}}return c};EditorUi.prototype.getFileData=function(b,a,c,e,d,g,w,k,m){d=null!=d?d:!0;w=null!=w?w:this.getXmlFileData(d,null!=g?g:!1);m=null!=m?m:this.getCurrentFile();g=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(a||!b&&null!=m&&/(\.svg)$/i.test(m.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());
+var f=g.getGlobalVariable,h=this.pages[0];g.getGlobalVariable=function(b){return"page"==b?h.getName():"pagenumber"==b?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(h.root)}b=this.createFileData(w,g,m,window.location.href,b,a,c,e,d,k);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);return b};EditorUi.prototype.getHtml=function(b,a,c,e,d,g){g=null!=g?g:!0;var f=null,h="https://www.draw.io/js/embed-static.min.js";if(null!=a){var f=g?a.getGraphBounds():
+a.getBoundingBox(a.getSelectionCells()),q=a.view.scale;g=Math.floor(f.x/q-a.view.translate.x);q=Math.floor(f.y/q-a.view.translate.y);f=a.background;null==d&&(a=this.getBasenames().join(";"),0<a.length&&(h="https://www.draw.io/embed.js?s="+a));b.setAttribute("x0",g);b.setAttribute("y0",q)}null!=b&&(b.setAttribute("pan","1"),b.setAttribute("zoom","1"),b.setAttribute("resize","0"),b.setAttribute("fit","0"),b.setAttribute("border","20"),b.setAttribute("links","1"),null!=e&&b.setAttribute("edit",e));null!=
+d&&(d=d.replace(/&/g,"&amp;"));b=null!=b?this.editor.graph.zapGremlins(mxUtils.getXml(b)):"";e=this.editor.graph.compress(b);this.editor.graph.decompress(e)!=b&&(e=encodeURIComponent(b));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==d?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?
+'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\n":"")+"</head>\n<body"+(null==d&&null!=f&&f!=mxConstants.NONE?' style="background-color:'+f+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==d?'<script type="text/javascript" src="'+h+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+d+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+
+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(b,a,c,e,d){null!=d&&(d=d.replace(/&/g,"&amp;"));b={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(b),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(b.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">':
+">")+"\n<head>\n"+(null==d?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(b))+'"></div>\n'+(null==d?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+
+d+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(b){b=this.validateFileData(b);this.pages=this.fileNode=this.currentPage=null;var a=null!=b&&0<b.length?mxUtils.parseXml(b).documentElement:null;b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a&&"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<b.length||1==b.length&&b[0].hasAttribute("name"))){this.fileNode=
+a;this.pages=[];for(a=0;a<b.length;a++){var c=new DiagramPage(b[a]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[a+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",
+[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(b){var a=this.getCurrentFile(),a=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));!b&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&
+0<this.currentPage.getName().length&&(a=a+"-"+this.currentPage.getName());return a};EditorUi.prototype.downloadFile=function(b,a,c,d,e,g,w){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e),h=f+"."+b;if("xml"==b){var l='<?xml version="1.0" encoding="UTF-8"?>\n'+(a?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(h,b,l,"text/xml")}else if("html"==b)l=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(h,
+b,l,"text/html");else if("svg"!=b&&"xmlsvg"!=b||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==b?h=f+".png":"jpeg"==b&&(h=f+".jpg"),this.saveRequest(h,b,mxUtils.bind(this,function(a,c){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var h=this.createDownloadRequest(a,b,d,c,w);this.editor.graph.pageVisible=f;return h}catch(A){this.handleError(A)}}));else{var q=null,u=mxUtils.bind(this,function(b){b.length<=MAX_REQUEST_SIZE?this.saveData(h,"svg",
+b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==b){var t=this.editor.graph.background;if(w||t==mxConstants.NONE)t=null;var k=this.editor.graph.getSvg(t,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(k);this.convertImages(k,mxUtils.bind(this,mxUtils.bind(this,function(b){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(b))})))}else h=f+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(b){this.spinner.stop();u(b)}),d)}}catch(J){this.handleError(J)}};EditorUi.prototype.createDownloadRequest=function(b,a,c,d,e){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=a);var h="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";if("xmlpng"==a&&(f="1",a="png",null!=this.pages&&null!=this.currentPage))for(var g=
+0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){h="&from="+g;break}g=this.editor.graph.background;"png"==a&&e&&(g=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+a+h+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=b?"&filename="+encodeURIComponent(b):""))};EditorUi.prototype.setMode=function(b,a){this.mode=b};EditorUi.prototype.loadDescriptor=function(b,a,c){var f=window.location.hash,h=mxUtils.bind(this,function(c){var h=
+null!=b.data?b.data:"";null!=c&&0<c.length&&(0<h.length&&(h+="\n"),h+=c);c=new LocalFile(this,"csv"!=b.format&&0<h.length?h:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return f};this.fileLoaded(c);"csv"==b.format&&this.importCsv(h,mxUtils.bind(this,function(b){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=b.update){var d=null!=b.interval?parseInt(b.interval):6E4,l=null,
+e=mxUtils.bind(this,function(){var a=this.currentPage;mxUtils.post(b.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(b){a===this.currentPage&&(200<=b.getStatus()&&300>=b.getStatus()?(this.updateDiagram(b.getText()),g()):this.handleError({message:mxResources.get("error")+" "+b.getStatus()}))}),mxUtils.bind(this,function(b){this.handleError(b)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(l);l=window.setTimeout(e,d)});this.editor.addListener("pageSelected",
+mxUtils.bind(this,function(){g();e()}));g();e()}null!=a&&a()});if(null!=b.url){var d=b.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&&(d=PROXY_URL+"?url="+encodeURIComponent(b.url));this.loadUrl(d,mxUtils.bind(this,function(b){h(b)}),mxUtils.bind(this,function(b){null!=c&&c(b)}))}else h(b.data)};EditorUi.prototype.updateDiagram=function(b){function a(b){var a=new mxCellOverlay(b.image||d.warningImage,b.tooltip,b.align,b.valign,b.offset);a.addListener(mxEvent.CLICK,function(a,c){editorUi.alert(b.tooltip)});
+return a}var c=null;if(null!=b&&0<b.length&&(c=mxUtils.parseXml(b),b=null!=c?c.documentElement:null,null!=b&&"updates"==b.nodeName)){var d=this.editor.graph,e=d.getModel();e.beginUpdate();var g=null;try{for(b=b.firstChild;null!=b;){if("update"==b.nodeName){var w=e.getCell(b.getAttribute("id"));if(null!=w){try{var k=b.getAttribute("value");if(null!=k){var m=mxUtils.parseXml(k).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))e.setValue(w,m);else for(var l=m.attributes,v=0;v<l.length;v++)d.setAttributeForCell(w,
+l[v].nodeName,0<l[v].nodeValue.length?l[v].nodeValue:null)}}catch(A){null!=window.console&&console.log("Error in value for "+w.id+": "+A)}try{var n=b.getAttribute("style");null!=n&&d.model.setStyle(w,n)}catch(A){null!=window.console&&console.log("Error in style for "+w.id+": "+A)}try{var p=b.getAttribute("icon");if(null!=p){var y=0<p.length?JSON.parse(p):null;null!=y&&y.append||d.removeCellOverlays(w);null!=y&&d.addCellOverlay(w,a(y))}}catch(A){null!=window.console&&console.log("Error in icon for "+
+w.id+": "+A)}try{var J=b.getAttribute("geometry");if(null!=J){var J=JSON.parse(J),z=d.getCellGeometry(w);if(null!=z){z=z.clone();for(key in J){var C=parseFloat(J[key]);"dx"==key?z.x+=C:"dy"==key?z.y+=C:"dw"==key?z.width+=C:"dh"==key?z.height+=C:z[key]=parseFloat(J[key])}d.model.setGeometry(w,z)}}}catch(A){null!=window.console&&console.log("Error in icon for "+w.id+": "+A)}}}else if("model"==b.nodeName){for(var H=b.firstChild;null!=H&&H.nodeType!=mxConstants.NODETYPE_ELEMENT;)H=H.nextSibling;null!=
+H&&(new mxCodec(b.firstChild)).decode(H,e)}else if("view"==b.nodeName){if(b.hasAttribute("scale")&&(d.view.scale=parseFloat(b.getAttribute("scale"))),b.hasAttribute("dx")||b.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(b.getAttribute("dx")||0),parseFloat(b.getAttribute("dy")||0))}else"fit"==b.nodeName&&(g=b.hasAttribute("max-scale")?parseFloat(b.getAttribute("max-scale")):1);b=b.nextSibling}}finally{e.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return c};
+EditorUi.prototype.fileLoaded=function(b){var a=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&
+0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.updateUi();this.showSplash()});if(null!=b)try{this.setCurrentFile(b);b.addListener("descriptorChanged",this.descriptorChangedListener);b.addListener("contentChanged",this.descriptorChangedListener);b.open();this.setGraphEnabled(!0);this.setMode(b.getMode());this.editor.undoManager.clear();this.descriptorChanged();
+this.updateUi();null==b.realtime&&(b.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();
+this.editor.fireEvent(new mxEventObject("fileLoaded"));a=!0;this.isOffline()||null==b.getMode()||this.logEvent({category:"File",action:"open",label:b.getMode()});if(this.mode==b.getMode()&&b.getMode()!=App.MODE_DEVICE&&null!=b.getMode())try{this.addRecent({id:b.getHash(),title:b.getTitle(),mode:b.getMode()})}catch(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){null!=window.console&&console.log("error in fileLoaded:",b,q);if(EditorUi.enableLogging&&
+!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=q&&null!=q.message?":err:"+encodeURIComponent(q.message):"")+(null!=q&&null!=q.stack?"&stack="+encodeURIComponent(q.stack):"")}catch(t){}this.handleError(q,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?
+window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return a};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(b){if(EditorUi.enableLogging)try{var a=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=a+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=b?"&data="+encodeURIComponent(JSON.stringify(b)):"")}catch(h){}};EditorUi.prototype.restoreLibraries=
+function(){};EditorUi.prototype.saveLibrary=function(b,a,c,d,e,g,w){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(b){null==b&&(b=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,b,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=
+function(b){var a=mxUtils.createXmlDocument(),c=a.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(b));a.appendChild(c);return mxUtils.getXml(a)};EditorUi.prototype.closeLibrary=function(b){null!=b&&(this.removeLibrarySidebar(b.getHash()),b.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(b.getHash()),".scratchpad"==b.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(b){var a=this.sidebar.palettes[b];if(null!=a){for(var c=0;c<a.length;c++)a[c].parentNode.removeChild(a[c]);
+delete this.sidebar.palettes[b]}};EditorUi.prototype.repositionLibrary=function(b){var a=this.sidebar.container;if(null==b){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=this.sidebar.palettes.search);null!=c&&(b=c[c.length-1].nextSibling)}b=null!=b?b:a.firstChild.nextSibling.nextSibling;var c=a.lastChild,d=c.previousSibling;a.insertBefore(c,b);a.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(b){var a=mxUtils.parseXml(b.getData());if("mxlibrary"==a.documentElement.nodeName){var c=
+JSON.parse(mxUtils.getTextContent(a.documentElement));this.libraryLoaded(b,c,a.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(b){return""};EditorUi.prototype.libraryLoaded=function(b,a,c){if(null!=this.sidebar){b.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(b.getHash());".scratchpad"==b.title&&(this.scratchpad=b);var f=this.sidebar.palettes[b.getHash()],f=null!=f?f[f.length-1].nextSibling:
+null;this.removeLibrarySidebar(b.getHash());var h=null,d=mxUtils.bind(this,function(a,c){if(0==a.length&&b.isEditable())null==h&&(h=document.createElement("div"),mxUtils.setPrefixedStyle(h.style,"borderRadius","6px"),h.style.border="3px dotted lightGray",h.style.textAlign="center",h.style.padding="8px",h.style.color="#B3B3B3",mxUtils.write(h,mxResources.get("dragElementsHere"))),c.appendChild(h);else for(var f=0;f<a.length;f++){var l=a[f],d=l.data;if(null!=d){var d=this.convertDataUri(d),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";
+"fixed"==l.aspect&&(e+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(e+"image="+d,l.w,l.h,"",l.title||"",!1,!1,!0))}else null!=l.xml&&(d=this.stringToCells(this.editor.graph.decompress(l.xml)),0<d.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(d,l.w,l.h,l.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=a)for(var e=0;e<a.length;e++)mxUtils.bind(this,function(b){var a=b.data;null!=a&&null!=b.title?this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){a=
+this.convertDataUri(a);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==b.aspect&&(c+="aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+a,b.w,b.h,"",b.title||"",!1,!1,!0)})):null!=b.xml&&null!=b.title&&this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){var a=this.stringToCells(this.editor.graph.decompress(b.xml));return this.sidebar.createVertexTemplateFromCells(a,b.w,b.h,b.title||"",!0,!1,!0)}))})(a[e]);c=null!=c&&0<c.length?c:
+b.getTitle();var g=this.sidebar.addPalette(b.getHash(),c,!0,mxUtils.bind(this,function(b){d(a,b)}));this.repositionLibrary(f);var k=g.parentNode.previousSibling;c=k.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=b.title&&k.setAttribute("title",this.getLibraryStorageHint(b)+"\n"+c);var l=document.createElement("div");l.style.position="absolute";l.style.right="0px";l.style.top="0px";l.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(l.style.backgroundColor="inherit");k.style.position=
+"relative";var v=document.createElement("img");v.setAttribute("src",Dialog.prototype.closeImage);v.setAttribute("title",mxResources.get("close"));v.setAttribute("valign","absmiddle");v.setAttribute("border","0");v.style.margin="0 3px";var m=null;if(".scratchpad"!=b.title||this.closableScratchpad)l.appendChild(v),mxEvent.addListener(v,"click",mxUtils.bind(this,function(a){if(!mxEvent.isConsumed(a)){var c=mxUtils.bind(this,function(){this.closeLibrary(b)});null!=m?this.confirm(mxResources.get("allChangesLost"),
+null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(a)}}));if(b.isEditable()){var n=this.editor.graph,p=null,J=mxUtils.bind(this,function(c){this.showLibraryDialog(b.getTitle(),g,a,b,b.getMode());mxEvent.consume(c)}),z=mxUtils.bind(this,function(c){b.setModified(!0);b.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=v.cloneNode(!1),p.setAttribute("src",Editor.spinImage),p.setAttribute("title",mxResources.get("saving")),p.style.cursor="default",
+p.style.marginRight="2px",p.style.marginTop="-2px",l.insertBefore(p,l.firstChild),k.style.paddingRight=18*l.childNodes.length+"px",this.saveLibrary(b.getTitle(),a,b,b.getMode(),!0,!0,function(){null!=p&&null!=p.parentNode&&(p.parentNode.removeChild(p),k.style.paddingRight=18*l.childNodes.length+"px")})):null==m&&(m=v.cloneNode(!1),m.setAttribute("src",IMAGE_PATH+"/download.png"),m.setAttribute("title",mxResources.get("save")),l.insertBefore(m,l.firstChild),mxEvent.addListener(m,"click",mxUtils.bind(this,
+function(c){this.saveLibrary(b.getTitle(),a,b,b.getMode(),b.constructor==LocalLibrary,!0,function(){null==m||b.isModified()||(k.style.paddingRight=18*l.childNodes.length+"px",m.parentNode.removeChild(m),m=null)});mxEvent.consume(c)})),k.style.paddingRight=18*l.childNodes.length+"px")}),C=mxUtils.bind(this,function(b,c,f,l){b=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(b)));for(var d=0;d<b.length;d++){var e=n.getCellGeometry(b[d]);null!=e&&e.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(b,
+c.width,c.height,l||"",!0,!1,!1));b={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(b))),w:c.width,h:c.height};null!=l&&(b.title=l);a.push(b);z(f);null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null)}),H=mxUtils.bind(this,function(b){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(b),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var a=
+n.getSelectionCells(),c=n.view.getBounds(a),f=n.view.scale;c.x/=f;c.y/=f;c.width/=f;c.height/=f;c.x-=n.view.translate.x;c.y-=n.view.translate.y;C(a,c)}mxEvent.consume(b)});g.style.border="3px solid transparent";mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="hidden",null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)",
+g.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!1),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(b))}),mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(g.style.border="3px solid transparent",null!=h&&(h.style.border="3px dotted lightGray"),g.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),
+n.isMouseDown=!1,n.autoScroll=!0,H(b),mxEvent.consume(b))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="visible",g.style.border="3px solid transparent",g.style.cursor="",n.autoScroll=!0,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!0),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),null!=h&&(h.style.border="3px dotted lightGray"))}));Graph.fileSupport&&
+(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(b){null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)";b.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(b){g.style.border="3px solid transparent";g.style.cursor="";null!=h&&(h.style.border="3px dotted lightGray");0<b.dataTransfer.files.length&&this.importFiles(b.dataTransfer.files,
+0,0,this.maxImageSize,mxUtils.bind(this,function(c,f,l,e,v,q,u,w,t){if(null!=c&&"image/"==f.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,v,q),c)],c[0].vertex=!0,C(c,new mxRectangle(0,0,v,q),b,mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null);else{var k=!1,m=mxUtils.bind(this,function(c,
+f){if(null!=c&&"text/xml"==f){var l=mxUtils.parseXml(c);if("mxlibrary"==l.documentElement.nodeName)try{var e=JSON.parse(mxUtils.getTextContent(l.documentElement));d(e,g);a=a.concat(e);z(b);this.spinner.stop();k=!0}catch(U){}else if("mxfile"==l.documentElement.nodeName)try{for(var v=l.documentElement.getElementsByTagName("diagram"),l=0;l<v.length;l++){var e=mxUtils.getTextContent(v[l]),q=this.stringToCells(this.editor.graph.decompress(e)),u=this.editor.graph.getBoundingBoxFromGeometry(q);C(q,new mxRectangle(0,
+0,u.width,u.height),b)}k=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}k||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=h&&null!=h.parentNode&&0<a.length&&(h.parentNode.removeChild(h),h=null)});null!=t&&null!=u&&(/(\.vsdx?)($|\?)/i.test(u)||/(\.vssx)($|\?)/i.test(u))?this.importVisio(t,function(b){m(b,"text/xml")},null,u):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,u)&&null!=t?this.parseFile(t,
+mxUtils.bind(this,function(b){4==b.readyState&&(this.spinner.stop(),200<=b.status&&299>=b.status?m(b.responseText,"text/xml"):this.handleError({message:mxResources.get(413==b.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):m(c,f)}}));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"dragleave",function(b){null!=h?h.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",g.style.cursor="");b.stopPropagation();b.preventDefault()}));
+v=v.cloneNode(!1);v.setAttribute("src",Editor.editImage);v.setAttribute("title",mxResources.get("edit"));l.insertBefore(v,l.firstChild);mxEvent.addListener(v,"click",J);mxEvent.addListener(g,"dblclick",function(b){mxEvent.getSource(b)==g&&J(b)});c=v.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));l.insertBefore(c,l.firstChild);mxEvent.addListener(c,"click",H);this.isOffline()||".scratchpad"!=b.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),
+c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(b){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(b)})),l.insertBefore(c,l.firstChild))}k.appendChild(l);k.style.paddingRight=18*l.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=
+64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var b=document.getElementById("geFooter");if(null!=b){b.style.visibility="visible";var a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",Dialog.prototype.closeImage);a.setAttribute("title",mxResources.get("hide"));b.appendChild(a);mxClient.IS_QUIRKS&&(a.style.position="relative",a.style.styleFloat="right",a.style.top=
+"-30px",a.style.left="164px",a.style.cursor="pointer");mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return b});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=
+3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=
+null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage=
+"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};
+EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var b=document.getElementById("geFooter");null!=b&&(this.footerHeight=0,b.style.display="none",this.refresh())};EditorUi.prototype.showFooter=function(b){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=b,a.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(b,a,c,d,e){b=new ImageDialog(this,b,a,c,d,e);this.showDialog(b.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,
+!0);b.init()};EditorUi.prototype.showBackgroundImageDialog=function(b){b=null!=b?b:mxUtils.bind(this,function(b){b=new ChangePageSetup(this,null,b);b.ignoreColor=!0;this.editor.graph.model.execute(b)});var a=new BackgroundImageDialog(this,mxUtils.bind(this,function(a){b(a)}));this.showDialog(a.container,360,200,!0,!0);a.init()};EditorUi.prototype.showLibraryDialog=function(b,a,c,d,e){b=new LibraryDialog(this,b,a,c,d,e);this.showDialog(b.container,620,440,!0,!1,mxUtils.bind(this,function(b){b&&null==
+this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));b.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var b=this.createDiv("geSidebarContainer");b.style.position="absolute";b.style.overflow="hidden";b.style.borderWidth="3px";var a=document.createElement("a");a.setAttribute("href","javascript:void(0);");a.className="geTitle";a.style.height="100%";a.style.paddingTop="9px";mxUtils.write(a,mxResources.get("moreShapes")+"...");mxEvent.addListener(a,"click",mxUtils.bind(this,
+function(b){this.actions.get("shapes").funct();mxEvent.consume(b)}));b.appendChild(a);return b};EditorUi.prototype.handleError=function(b,a,c){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},h=null!=b&&null!=b.error?b.error:b;if(null!=h||null!=a){b=mxUtils.htmlEntities(mxResources.get("unknownError"));var d=mxResources.get("ok"),e=null;a=null!=a?a:mxResources.get("error");if(null!=h)if(null!=h.retry&&(d=mxResources.get("cancel"),e=function(){f();h.retry()}),"undefined"!=
+typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.FORBIDDEN)b=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==h.code||404==h.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.NOT_FOUND){b=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var g=window.location.hash;null!=g&&"#G"==g.substring(0,2)&&(g=g.substring(2),
+b+=' <a href="https://drive.google.com/open?id='+g+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else h.code==App.ERROR_TIMEOUT?b=mxUtils.htmlEntities(mxResources.get("timeout")):h.code==App.ERROR_BUSY?b=mxUtils.htmlEntities(mxResources.get("busy")):null!=h.message?b=mxUtils.htmlEntities(h.message):null!=h.response&&null!=h.response.error&&(b=mxUtils.htmlEntities(h.response.error));this.showError(a,b,d,c,e)}else null!=c&&c()};EditorUi.prototype.showError=
+function(b,a,c,d,e,g,w,k,m,l,v,n){b=new ErrorDialog(this,b,a,c||mxResources.get("ok"),d,e,g,w,n,k,m);this.showDialog(b.container,l||340,v||150,!0,!1);b.init()};EditorUi.prototype.alert=function(b,a){var c=new ErrorDialog(this,null,b,mxResources.get("ok"),a);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(b,a,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,b,function(){f();null!=
+a&&a()},function(){f();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(b){this.currentFile=b};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(b){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(b)))};EditorUi.prototype.createImageDataUri=function(b,
+a,c){var f=b.toDataURL("image/"+c);if(6>=f.length||f==b.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=a&&(f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(a))));return f};EditorUi.prototype.saveCanvas=function(b,a,c){var f="jpeg"==c?"jpg":c,h=this.getBaseFilename()+"."+f;b=this.createImageDataUri(b,a,c);this.saveData(h,f,b.substring(b.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&
+(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(b,a,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)b=d?this.base64ToBlob(b,c):new Blob([b],{type:c}),navigator.msSaveOrOpenBlob(b,a);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(b,!0):(c.document.write(b),
+c.document.close(),c.document.execCommand("SaveAs",!0,a),c.close());else if(mxClient.IS_IOS)a=new TextareaDialog(this,a+":",b,null,null,mxResources.get("close")),a.textarea.style.width="600px",a.textarea.style.height="380px",this.showDialog(a.container,620,460,!0,!0),a.init(),document.execCommand("selectall",!1,null);else{var f=document.createElement("a"),h=!mxClient.IS_SF&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),h=65==(g?parseInt(g[2],
+10):!1)?!1:h;if(h||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(b,c):new Blob([b],{type:c}));h?f.download=a:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.click(),f.parentNode.removeChild(f)}catch(B){}}else this.createEchoRequest(b,a,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(b,a,c,d,e,g){b="xml="+encodeURIComponent(b);return new mxXmlRequest(SAVE_URL,b+(null!=
+c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=a?"&filename="+encodeURIComponent(a):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(b,a){a=a||"";for(var c=atob(b),f=c.length,d=Math.ceil(f/1024),e=Array(d),g=0;g<d;++g){for(var k=1024*g,m=Math.min(k+1024,f),l=Array(m-k),v=0;k<m;++v,++k)l[v]=c[k].charCodeAt(0);e[g]=new Uint8Array(l)}return new Blob(e,{type:a})};EditorUi.prototype.saveLocalFile=function(b,a,c,d,e,g,k){g=null!=g?g:!1;k=null!=k?k:"vsdx"!=e&&
+(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var l=window.open("about:blank");null==l?mxUtils.popup(b,!0):(l.document.write(mxUtils.htmlEntities(b,!1)),l.document.close())}else this.openInNewWindow(b,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(b,a,c,d):null!=a&&0<a.length&&this.pickFolder(f,
+mxUtils.bind(this,function(l){try{this.exportFile(b,a,c,d,f,l)}catch(G){this.handleError(G)}}))}catch(v){this.handleError(v)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,k,null,1<e,4<e&&(!g||6>e)?3:4,b,c,d);this.showDialog(a.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);a.init()};EditorUi.prototype.openInNewWindow=function(b,a,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var f=
+window.open("about:blank");null==f?mxUtils.popup(b,!0):("image/svg+xml"==a?f.document.write("<html>"+b+"</html>"):f.document.write('<html><img src="data:'+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))+'"/></html>'),f.document.close())}else f=window.open("data:"+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))),null==f&&mxUtils.popup(b,!0)};var d=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(b){if(this.isExportToCanvas()){this.exportDialog=
+null;var a=b(mxUtils.bind(this,function(b){var c=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",c);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)c.apply(this);else{this.exportDialog=document.createElement("div");var f=a.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign=
+"center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=f.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";f=mxUtils.getCurrentStyle(this.editor.graph.container);
+this.exportDialog.style.zIndex=f.zIndex;var d=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});d.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(b){d.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var a=this.createImageDataUri(b,null,"png");b=document.createElement("img");b.style.maxWidth="140px";b.style.maxHeight="140px";
+b.style.cursor="pointer";b.setAttribute("title",mxResources.get("openInNewWindow"));b.setAttribute("border","0");b.setAttribute("src",a);this.exportDialog.appendChild(b);mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.openInNewWindow(a.substring(a.indexOf(",")+1),"image/png",!0);c.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}));mxEvent.addListener(this.editor.graph.container,"click",c);document.body.appendChild(this.exportDialog)}mxEvent.consume(b)}),
+Editor.cameraLargeImage,mxResources.get("export"))}d.apply(this,arguments)};EditorUi.prototype.saveData=function(b,a,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,b,d,e,a):this.saveRequest(b,a,mxUtils.bind(this,function(b,f){return this.createEchoRequest(c,b,d,e,a,f)}),c,e,d)};EditorUi.prototype.saveRequest=function(b,a,c,d,e,g,k){k=null!=k?k:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){if("_blank"==f||null!=
+b&&0<b.length){var l=c("_blank"==f?null:b,f==App.MODE_DEVICE||"download"==f||null==f||"_blank"==f?"0":"1");null!=l&&(f==App.MODE_DEVICE||"download"==f||"_blank"==f?l.simulate(document,"_blank"):this.pickFolder(f,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==a?"application/pdf":"image/"+a;if(null!=d)try{this.exportFile(d,b,g,!0,f,c)}catch(F){this.handleError(F)}else this.spinner.spin(document.body,mxResources.get("saving"))&&l.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=l.getStatus()&&
+299>=l.getStatus())try{this.exportFile(l.getText(),b,g,!0,f,c)}catch(F){this.handleError(F)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(b){this.spinner.stop();this.handleError(b)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,k,null,1<f,4<f?3:4,d,g,e);this.showDialog(b.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);b.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
+EditorUi.prototype.exportFile=function(b,a,c,d,e,g){};EditorUi.prototype.pickFolder=function(b,a,c){a(null)};EditorUi.prototype.exportSvg=function(b,a,c,d,e,g,k,m,n){if(this.spinner.spin(document.body,mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;f=a?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==a&&(f="#ffffff");var h=this.editor.graph.getSvg(f,b,k,m,null,c);d&&this.editor.graph.addSvgShadow(h);var q=this.getBaseFilename()+".svg",
+u=mxUtils.bind(this,function(b){this.spinner.stop();e&&b.setAttribute("content",this.getFileData(!0,null,null,null,c,n));if(null!=this.editor.fontCss){var a=b.ownerDocument,a=null!=a.createElementNS?a.createElementNS(mxConstants.NS_SVG,"style"):a.createElement("style");a.setAttribute("type","text/css");mxUtils.setTextContent(a,this.editor.fontCss);b.getElementsByTagName("defs")[0].appendChild(a)}var f='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(b);this.isLocalFileSave()||f.length<=MAX_REQUEST_SIZE?this.saveData(q,"svg",f,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(f)}))});this.convertMath(this.editor.graph,h,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(h,u,this.thumbImageCache)):u(h)}))}};EditorUi.prototype.addCheckbox=function(b,a,c,d,e,g){g=null!=g?g:!0;var f=
+document.createElement("input");f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type","checkbox");c&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled","disabled");g&&(b.appendChild(f),c=document.createElement("span"),mxUtils.write(c,a),b.appendChild(c),e||mxUtils.br(b),mxEvent.addListener(c,"click",mxUtils.bind(this,function(b){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(b))})));return f};EditorUi.prototype.addEditButton=
+function(b,a){var c=this.addCheckbox(b,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var f=this.getCurrentFile(),d="";null!=f&&f.getMode()!=App.MODE_DEVICE&&f.getMode()!=App.MODE_BROWSER&&(d=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("makeCopy"));e.appendChild(f);f=document.createElement("option");
+f.setAttribute("value","custom");mxUtils.write(f,mxResources.get("custom")+"...");e.appendChild(f);b.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==e.value){var b=new FilenameDialog(this,d,mxResources.get("ok"),function(b){null!=b?d=b:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(b.container,300,80,!0,!1);b.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==a||
+a.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(b);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":d:null},getEditInput:function(){return c},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(b,a){function c(){g.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(b,mxResources.get("links")+":");var f=document.createElement("select");f.style.width="100px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));f.appendChild(d);d=document.createElement("option");
+d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));f.appendChild(d);a&&(d=document.createElement("option"),d.setAttribute("value","frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),f.appendChild(d));b.appendChild(f);mxUtils.write(b,mxResources.get("borderColor")+":");var e="#0000ff",g=null,g=mxUtils.button("",mxUtils.bind(this,function(b){this.pickColor(e||"none",function(b){e=b;c()});mxEvent.consume(b)}));c();g.style.padding=
+mxClient.IS_FF?"4px 2px 4px 2px":"4px";g.style.marginLeft="4px";g.style.height="22px";g.style.width="22px";g.style.position="relative";g.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";g.className="geColorBtn";b.appendChild(g);mxUtils.br(b);return{getColor:function(){return e},getTarget:function(){return f.value},focus:function(){f.focus()}}};EditorUi.prototype.createLink=function(b,a,c,d,e,g,k,m){var f=this.getCurrentFile(),l=[];d&&(l.push("lightbox=1"),"auto"!=b&&l.push("target="+
+b),null!=a&&a!=mxConstants.NONE&&l.push("highlight="+("#"==a.charAt(0)?a.substring(1):a)),null!=e&&0<e.length&&l.push("edit="+encodeURIComponent(e)),g&&l.push("layers=1"),this.editor.graph.foldingEnabled&&l.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(b=0;b<this.pages.length;b++)if(this.pages[b]==this.currentPage){0<b&&l.push("page="+b);break}b=!0;null!=k?c="#U"+encodeURIComponent(k):(f=this.getCurrentFile(),m||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
+this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),b=!1));b&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&l.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<l.length?"?"+l.join("&"):"")+c};EditorUi.prototype.createHtml=function(b,
+a,c,d,e,g,k,m,n,l,v){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);n||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];k&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));a&&(c.push("zoom"),f.resize=!0);m&&c.push("layers");0<c.length&&(n&&c.push("lightbox"),f.toolbar=c.join(" "));null!=l&&0<l.length&&(f.edit=l);null!=
+b?f.url=b:f.xml=this.getFileData(!0,null,null,null,null,!k);a='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';b=null!=b?"&fetch="+encodeURIComponent(b):"";v(a,'<script type="text/javascript" src="'+(0<b.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+b:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(b,a,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(e);var h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
+g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");e=g.cloneNode(!0);e.setAttribute("value","copy");h.appendChild(e);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));h.appendChild(k);mxUtils.br(h);h.appendChild(g);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));h.appendChild(k);var l=this.getCurrentFile();null==c&&null!=l&&l.constructor==window.DriveFile&&(k=
+document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),h.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(l.getId())})));e.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");f.appendChild(h);var v=this.addLinkSection(f),u=this.addCheckbox(f,mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,
+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="12px";m.value="100%";f.appendChild(m);var n=this.addCheckbox(f,mxResources.get("fit"),!0),h=null!=this.pages&&1<this.pages.length,p=p=this.addCheckbox(f,mxResources.get("allPages"),h,!h),z=this.addCheckbox(f,mxResources.get("layers"),!0),C=this.addCheckbox(f,mxResources.get("lightbox"),!0),H=this.addEditButton(f,C),A=H.getEditInput();
+A.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?A.removeAttribute("disabled"):A.setAttribute("disabled","disabled");A.checked&&C.checked?H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?c:null,u.checked,m.value,v.getTarget(),v.getColor(),n.checked,p.checked,z.checked,C.checked,H.getLink())}),null,b,a);this.showDialog(b.container,340,384,!0,!0);e.focus()};
+EditorUi.prototype.showPublishLinkDialog=function(b,a,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=document.createElement("h3");mxUtils.write(h,b||mxResources.get("link"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(h);var k=this.getCurrentFile(),h="https://desk.draw.io/support/solutions/articles/16000051941";b=0;if(null!=k&&k.constructor==window.DriveFile&&!a){b=80;var h="https://desk.draw.io/support/solutions/articles/16000039384",
+l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));l.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));v.style.marginTop="12px";v.className="geBtn";l.appendChild(v);f.appendChild(l);v=document.createElement("a");
+v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check"));l.appendChild(v);mxEvent.addListener(v,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(b){this.spinner.stop();b=new ErrorDialog(this,null,mxResources.get(null!=b?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));
+this.showDialog(b.container,300,80,!0,!1);b.init()}))}))}var q=null,u=null;if(null!=c||null!=d)b+=30,mxUtils.write(f,mxResources.get("width")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.marginRight="16px",q.style.width="50px",q.style.marginLeft="6px",q.style.marginRight="16px",q.style.marginBottom="10px",q.value="100%",f.appendChild(q),mxUtils.write(f,mxResources.get("height")+":"),u=document.createElement("input"),u.setAttribute("type","text"),u.style.width="50px",
+u.style.marginLeft="6px",u.style.marginBottom="10px",u.value=d+"px",f.appendChild(u),mxUtils.br(f);var m=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var n=null;if(null==k||k.constructor!=window.DriveFile||a)n=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var t=this.addCheckbox(f,mxResources.get("lightbox"),!0),p=this.addEditButton(f,t),H=p.getEditInput(),A=this.addCheckbox(f,mxResources.get("layers"),!0);A.style.marginLeft=H.style.marginLeft;A.style.marginBottom="16px";
+A.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(A.removeAttribute("disabled"),H.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"));H.checked&&t.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){e(m.getTarget(),m.getColor(),null==n?!0:n.checked,t.checked,p.getLink(),A.checked,null!=q?q.value:null,null!=
+u?u.value:null)}),null,mxResources.get("create"),h);this.showDialog(a.container,340,254+b,!0,!0);null!=q?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)):m.focus()};EditorUi.prototype.showRemoteExportDialog=function(b,a,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("image"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+f.appendChild(e);var h=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),!0),e=this.editor.graph,k=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),e.background==mxConstants.NONE||null==e.background);null!=k&&(k.style.marginBottom="16px");b=new CustomDialog(this,f,mxUtils.bind(this,function(){c(!h.checked,null!=g?g.checked:!1,null!=k?k.checked:!1)}),null,b,a);this.showDialog(b.container,
+300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(b,a,c,d,e,g,k,m){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=this.editor.graph,h="jpeg"==m?196:300,q=document.createElement("h3");mxUtils.write(q,b);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(q);mxUtils.write(f,mxResources.get("zoom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width=
+"60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value=this.lastExportZoom||"100%";f.appendChild(u);mxUtils.write(f,mxResources.get("borderWidth")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px";n.style.width="60px";n.style.marginLeft="4px";n.value=this.lastExportBorder||"0";f.appendChild(n);mxUtils.br(f);var w=this.addCheckbox(f,mxResources.get("transparentBackground"),l.background==mxConstants.NONE||null==l.background,null,null,"jpeg"!=
+m),t=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,l.isSelectionEmpty()),p=document.createElement("input");p.style.marginTop="16px";p.style.marginRight="8px";p.style.marginLeft="24px";p.setAttribute("disabled","disabled");p.setAttribute("type","checkbox");g&&(f.appendChild(p),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),h+=26,mxEvent.addListener(t,"change",function(){t.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled")}));l.isSelectionEmpty()||(p.setAttribute("checked",
+"checked"),p.defaultChecked=!0);var x=this.addCheckbox(f,mxResources.get("shadow"),l.shadowVisible),A=document.createElement("input");A.style.marginTop="16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||A.setAttribute("disabled","disabled");a&&(f.appendChild(A),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),h+=26);var L=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),k,null,null,"jpeg"!=m),D=null!=this.pages&&1<this.pages.length,
+E=this.addCheckbox(f,D?mxResources.get("allPages"):"",D,!D,null,"jpeg"!=m);E.style.marginLeft="24px";E.style.marginBottom="16px";D||(E.style.visibility="hidden");mxEvent.addListener(L,"change",function(){L.checked&&D?E.removeAttribute("disabled"):E.setAttribute("disabled","disabled")});k&&D||E.setAttribute("disabled","disabled");b=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=n.value;this.lastExportZoom=u.value;e(u.value,w.checked,!t.checked,x.checked,L.checked,A.checked,
+n.value,p.checked,!E.checked)}),null,c,d);this.showDialog(b.container,340,h,!0,!0);u.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(b,a,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=this.editor.graph;if(null!=a){var g=document.createElement("h3");mxUtils.write(g,a);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+f.appendChild(g)}var k=this.addCheckbox(f,mxResources.get("fit"),!0),l=this.addCheckbox(f,mxResources.get("shadow"),h.shadowVisible&&d,!d),v=this.addCheckbox(f,c),q=this.addCheckbox(f,mxResources.get("lightbox"),!0),u=this.addEditButton(f,q),m=u.getEditInput(),n=1<h.model.getChildCount(h.model.getRoot()),p=this.addCheckbox(f,mxResources.get("layers"),n,!n);p.style.marginLeft=m.style.marginLeft;p.style.marginBottom="12px";p.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?
+(n&&p.removeAttribute("disabled"),m.removeAttribute("disabled")):(p.setAttribute("disabled","disabled"),m.setAttribute("disabled","disabled"));m.checked&&q.checked?u.getEditSelect().removeAttribute("disabled"):u.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){b(k.checked,l.checked,v.checked,q.checked,u.getLink(),p.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,m){function f(a){var f=" ",h="";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);\"",h+="cursor:pointer;");
+b&&(h+="max-width:100%;");var v="";c&&(v=' width="'+Math.round(l.width)+'" height="'+Math.round(l.height)+'"');k('<img src="'+a+'"'+v+(""!=h?' style="'+h+'"':"")+f+"/>")}var l=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){m({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,a);else if(a=this.getFileData(!0),
+l.width*l.height<=MAX_AREA&&a.length<=MAX_REQUEST_SIZE){var h="";c&&(h="&w="+Math.round(2*l.width)+"&h="+Math.round(2*l.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+h+"&xml="+encodeURIComponent(a));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?f("data:image/png;base64,"+q.getText()):m({message:mxResources.get("unknownError")})}))}else m({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 l=0;l<h.length;l++){var v=h[l].getAttribute("href");null!=v&&"#"==v.charAt(0)&&"_blank"==h[l].getAttribute("target")&&h[l].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));a&&this.editor.graph.addSvgShadow(f);if(c){var q=" ",u="";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);\"",u+="cursor:pointer;");b&&(u+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(b){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=u?' style="'+u+'"':"")+q+"/>")}))}else u="",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);"),u+="cursor:pointer;"),b&&(b=parseInt(f.getAttribute("width")),a=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+b+" "+a),u+="max-width:100%;max-height:"+a+"px;",f.removeAttribute("height")),""!=u&&f.setAttribute("style",u),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){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(u){}finally{this.editor.graph=f}return b};EditorUi.prototype.getEmbeddedPng=function(b,a,c){var f=this.editor.graph,
+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()),e=f.getGlobalVariable,h=this.pages[0];f.getGlobalVariable=function(b){return"page"==b?h.getName():"pagenumber"==b?1:e.apply(this,arguments)};document.body.appendChild(f.container);
-f.model.setRoot(h.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==d&&(d=this.getFileData(!0));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));b(e.substring(e.lastIndexOf(",")+1));f!=this.editor.graph&&f.container.parentNode.removeChild(f.container)}catch(m){null!=a&&a(m)}}),null,null,null,mxUtils.bind(this,function(b){null!=a&&a(b)}),null,null,null,null,f.shadowVisible,null,f)};EditorUi.prototype.getEmbeddedSvg=
+f.model.setRoot(h.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==d&&(d=this.getFileData(!0));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));b(e.substring(e.lastIndexOf(",")+1));f!=this.editor.graph&&f.container.parentNode.removeChild(f.container)}catch(l){null!=a&&a(l)}}),null,null,null,mxUtils.bind(this,function(b){null!=a&&a(b)}),null,null,null,null,f.shadowVisible,null,f)};EditorUi.prototype.getEmbeddedSvg=
 function(b,a,c,d,e,g,k){k=a.background;k==mxConstants.NONE&&(k=null);a=a.getSvg(k,null,null,null,null,g);null!=b&&a.setAttribute("content",b);null!=c&&a.setAttribute("resource",c);if(null!=e)this.convertImages(a,mxUtils.bind(this,function(b){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(b))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
-mxUtils.getXml(a)};EditorUi.prototype.exportImage=function(b,a,c,d,e,g,k,l,n){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(b){this.spinner.stop();try{this.saveCanvas(b,e?this.getFileData(!0,null,null,null,c,l):null,n)}catch(H){"Invalid image"==H.message?this.downloadFile(n):this.handleError(H)}}),null,
-this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}),null,c,b||1,a,d,null,null,g,k)}catch(v){this.spinner.stop(),this.handleError(v)}}};EditorUi.prototype.loadFonts=function(b){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var a=function(b){return b.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,e={},g=mxUtils.bind(this,function(){if(0==d){for(var f=[c[0]],h=1;h<c.length;h++){var m=
-c[h].indexOf(")");f.push('url("');f.push(e[a(c[h].substring(0,m))]);f.push('"'+c[h].substring(m))}this.editor.resolvedFontCss=f.join("");b()}});if(0<c.length)for(var k=1;k<c.length;k++){var l=c[k].indexOf(")"),n=null,m=c[k].indexOf("format(",l);0<m&&(n=a(c[k].substring(m+7,c[k].indexOf(")",m))));mxUtils.bind(this,function(b){if(null==e[b]){e[b]=b;d++;var a="application/x-font-ttf";if("svg"==n||/(\.svg)($|\?)/i.test(b))a="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(b))a=
+mxUtils.getXml(a)};EditorUi.prototype.exportImage=function(b,a,c,d,e,g,k,m,n){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(b){this.spinner.stop();try{this.saveCanvas(b,e?this.getFileData(!0,null,null,null,c,m):null,n)}catch(G){"Invalid image"==G.message?this.downloadFile(n):this.handleError(G)}}),null,
+this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}),null,c,b||1,a,d,null,null,g,k)}catch(v){this.spinner.stop(),this.handleError(v)}}};EditorUi.prototype.loadFonts=function(b){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var a=function(b){return b.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,e={},g=mxUtils.bind(this,function(){if(0==d){for(var f=[c[0]],l=1;l<c.length;l++){var h=
+c[l].indexOf(")");f.push('url("');f.push(e[a(c[l].substring(0,h))]);f.push('"'+c[l].substring(h))}this.editor.resolvedFontCss=f.join("");b()}});if(0<c.length)for(var k=1;k<c.length;k++){var m=c[k].indexOf(")"),n=null,l=c[k].indexOf("format(",m);0<l&&(n=a(c[k].substring(l+7,c[k].indexOf(")",l))));mxUtils.bind(this,function(b){if(null==e[b]){e[b]=b;d++;var a="application/x-font-ttf";if("svg"==n||/(\.svg)($|\?)/i.test(b))a="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(b))a=
 "application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(b))a="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(b))a="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(b))a="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(b))a="application/font-sfnt";var c=b;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(b));this.loadUrl(c,mxUtils.bind(this,function(a){e[b]=a;d--;g()}),mxUtils.bind(this,
-function(b){d--;g()}),!0,null,"data:"+a+";charset=utf-8;base64,")}})(a(c[k].substring(0,l)),n)}}else b()};EditorUi.prototype.exportToCanvas=function(b,a,c,d,e,g,k,l,n,m,v,p,G,z){g=null!=g?g:!0;p=null!=p?p:this.editor.graph;G=null!=G?G:0;var f=n?null:p.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==n&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(p.getSvg(f,null,null,z,null,null!=k?k:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,
-function(){try{var h=document.createElement("canvas"),m=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=a&&(l=g?Math.min(1,Math.min(3*a/(4*k),a/m)):a/m);m=Math.ceil(l*m)+2*G;k=Math.ceil(l*k)+2*G;h.setAttribute("width",m);h.setAttribute("height",k);var v=h.getContext("2d");null!=f&&(v.beginPath(),v.rect(0,0,m,k),v.fillStyle=f,v.fill());v.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){v.drawImage(d,G/l,G/l);b(h)},0):(v.drawImage(d,G/l,G/l),b(h))}catch(M){null!=
-e&&e(M)}});d.onerror=function(b){null!=e&&e(b)};try{m&&this.editor.graph.addSvgShadow(c);var h=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var b=document.createElement("style");b.setAttribute("type","text/css");b.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(b)}this.convertMath(p,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(h)}catch(C){null!=e&&e(C)}}),c,v)};EditorUi.prototype.createImageUrlConverter=
+function(b){d--;g()}),!0,null,"data:"+a+";charset=utf-8;base64,")}})(a(c[k].substring(0,m)),n)}}else b()};EditorUi.prototype.exportToCanvas=function(b,a,c,d,e,g,k,m,n,l,v,p,F,y){g=null!=g?g:!0;p=null!=p?p:this.editor.graph;F=null!=F?F:0;var f=n?null:p.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==n&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(p.getSvg(f,null,null,y,null,null!=k?k:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,
+function(){try{var l=document.createElement("canvas"),h=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=a&&(m=g?Math.min(1,Math.min(3*a/(4*k),a/h)):a/h);h=Math.ceil(m*h)+2*F;k=Math.ceil(m*k)+2*F;l.setAttribute("width",h);l.setAttribute("height",k);var v=l.getContext("2d");null!=f&&(v.beginPath(),v.rect(0,0,h,k),v.fillStyle=f,v.fill());v.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){v.drawImage(d,F/m,F/m);b(l)},0):(v.drawImage(d,F/m,F/m),b(l))}catch(M){null!=
+e&&e(M)}});d.onerror=function(b){null!=e&&e(b)};try{l&&this.editor.graph.addSvgShadow(c);var h=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var b=document.createElement("style");b.setAttribute("type","text/css");b.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(b)}this.convertMath(p,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(h)}catch(A){null!=e&&e(A)}}),c,v)};EditorUi.prototype.createImageUrlConverter=
 function(){var b=new mxUrlConverter;b.updateBaseUrl();var a=b.convert,c=this;b.convert=function(f){if(null!=f){var d="http://"==f.substring(0,7)||"https://"==f.substring(0,8);d&&!navigator.onLine?f=c.svgBrokenImage.src:!d||f.substring(0,b.baseUrl.length)==b.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(f)?"chrome-extension://"!=f.substring(0,19)&&(f=a.apply(this,arguments)):f=PROXY_URL+"?url="+encodeURIComponent(f)}return f};return b};EditorUi.prototype.convertImages=function(b,a,c,d){null==
-d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,h){for(var g=b.getElementsByTagName(c),m=0;m<g.length;m++)mxUtils.bind(this,function(c){var m=d.convert(c.getAttribute(h));if(null!=m&&"data:"!=m.substring(0,5)){var g=e[m];null==g?(f++,this.convertImageToDataUri(m,function(d){null!=d&&(e[m]=d,c.setAttribute(h,d));f--;0==f&&a(b)})):c.setAttribute(h,g)}else null!=m&&c.setAttribute(h,m)})(g[m])});c("image","xlink:href");c("img","src");0==f&&a(b)};EditorUi.prototype.loadUrl=
+d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,h){for(var g=b.getElementsByTagName(c),l=0;l<g.length;l++)mxUtils.bind(this,function(c){var l=d.convert(c.getAttribute(h));if(null!=l&&"data:"!=l.substring(0,5)){var g=e[l];null==g?(f++,this.convertImageToDataUri(l,function(d){null!=d&&(e[l]=d,c.setAttribute(h,d));f--;0==f&&a(b)})):c.setAttribute(h,g)}else null!=l&&c.setAttribute(h,l)})(g[l])});c("image","xlink:href");c("img","src");0==f&&a(b)};EditorUi.prototype.loadUrl=
 function(b,a,c,d,e,g){try{var f=d||/(\.png)($|\?)/i.test(b)||/(\.jpe?g)($|\?)/i.test(b)||/(\.gif)($|\?)/i.test(b);e=null!=e?e:!0;var h=mxUtils.bind(this,function(){mxUtils.get(b,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){if(null!=a){var d=b.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&"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(x){null!=c&&c(x)}};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)||
+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(B){null!=c&&c(B)}};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++){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(G){throw e||this.handleError(G,mxResources.get("invalidOrMissingFile")),G;}return f};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(/(\.vsd)($|\?)/i.test(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{this.doImportVisio(e.response,a,c)}catch(y){c(y)}else c({})});e.send(f)}else try{this.doImportVisio(b,a,c)}catch(y){c(y)}});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)}});
+null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var l=k.getElementsByTagName("diagram");if(1==l.length)k=mxUtils.parseXml(h.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){h.model.beginUpdate();try{for(b=0;b<l.length;b++){var v=this.updatePageRoot(new DiagramPage(l[b])),m=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[m+1]));h.model.execute(new ChangePage(this,v,v,m))}}finally{h.model.endUpdate()}}}null!=k&&"mxGraphModel"===
+k.nodeName&&(f=h.importGraphModel(k,a,c,d))}}catch(F){throw e||this.handleError(F,mxResources.get("invalidOrMissingFile")),F;}return f};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(/(\.vsd)($|\?)/i.test(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{this.doImportVisio(e.response,a,c)}catch(x){c(x)}else c({})});e.send(f)}else try{this.doImportVisio(b,a,c)}catch(x){c(x)}});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.importLucidChart=function(b,a,c,d,e){var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(b,a,c,d,e)}catch(w){this.handleError(w)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(f,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
-mxscript("js/diagramly/Extensions.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.insertLucidChart=function(b,a,c,d,e){e=JSON.parse(b);b=[];if(null!=e.state){e=JSON.parse(e.state);for(var f in e.Pages)b.push(e.Pages[f]);b.sort(function(b,a){return b.Properties.Order<a.Properties.Order?-1:b.Properties.Order>a.Properties.Order?1:0})}else b.push(e);if(0<b.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(b[0],a,c,d),null!=this.pages){var h=this.currentPage;
-for(a=1;a<b.length;a++)this.insertPage(),this.pasteLucidChart(b[a]);this.selectPage(h)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(b,a,c,d,e,g,k){g=null!=g?g:!0;k=null!=k?k:!0;if(null!=b)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b))this.parseFile(new Blob([b.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&200<=b.status&&299>=b.status&&this.editor.graph.setSelectionCells(this.insertTextAt(b.responseText,
-a,c,!0))}));else if("data:"==b.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(b))){var f=this.editor.graph;if("data:image/png;base64,"==b.substring(0,22)){var h=this.extractGraphModelFromPng(b),m=this.importXml(h,a,c,g,!0);if(0<m.length)return m}if("data:image/svg+xml;"==b.substring(0,19))try{if(h=null,"data:image/svg+xml;base64,"==b.substring(0,26)?(h=b.substring(b.indexOf(",")+1),h=window.atob&&!mxClient.IS_SF?atob(h):Base64.decode(h,!0)):h=decodeURIComponent(b.substring(b.indexOf(",")+
-1)),m=this.importXml(h,a,c,g,!0),0<m.length)return m}catch(v){}this.loadImage(b,mxUtils.bind(this,function(d){if("data:"==b.substring(0,5))this.resizeImage(d,b,mxUtils.bind(this,function(b,d,e){f.setSelectionCell(f.insertVertex(null,null,"",f.snap(a),f.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(b)+";"))}),k,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
-d.height)),h=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"",f.snap(a),f.snap(c),h,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,b,f.snap(a),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",
+mxscript("js/diagramly/Extensions.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.insertLucidChart=function(b,a,c,d,e){e=JSON.parse(b);b=[];if(null!=e.state){e=JSON.parse(e.state);for(var f in e.Pages)b.push(e.Pages[f]);b.sort(function(b,a){return b.Properties.Order<a.Properties.Order?-1:b.Properties.Order>a.Properties.Order?1:0})}else b.push(e);if(0<b.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(b[0],a,c,d),null!=this.pages){var g=this.currentPage;
+for(a=1;a<b.length;a++)this.insertPage(),this.pasteLucidChart(b[a]);this.selectPage(g)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(b,a,c,d,e,g,k){g=null!=g?g:!0;k=null!=k?k:!0;if(null!=b)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b))this.parseFile(new Blob([b.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&200<=b.status&&299>=b.status&&this.editor.graph.setSelectionCells(this.insertTextAt(b.responseText,
+a,c,!0))}));else if("data:"==b.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(b))){var f=this.editor.graph;if("data:image/png;base64,"==b.substring(0,22)){var h=this.extractGraphModelFromPng(b),l=this.importXml(h,a,c,g,!0);if(0<l.length)return l}if("data:image/svg+xml;"==b.substring(0,19))try{if(h=null,"data:image/svg+xml;base64,"==b.substring(0,26)?(h=b.substring(b.indexOf(",")+1),h=window.atob&&!mxClient.IS_SF?atob(h):Base64.decode(h,!0)):h=decodeURIComponent(b.substring(b.indexOf(",")+
+1)),l=this.importXml(h,a,c,g,!0),0<l.length)return l}catch(v){}this.loadImage(b,mxUtils.bind(this,function(d){if("data:"==b.substring(0,5))this.resizeImage(d,b,mxUtils.bind(this,function(b,d,e){f.setSelectionCell(f.insertVertex(null,null,"",f.snap(a),f.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(b)+";"))}),k,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
+d.height)),l=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"",f.snap(a),f.snap(c),l,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,b,f.snap(a),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",
 [e]))}finally{f.getModel().endUpdate()}f.setSelectionCell(e)}))}else{b=this.editor.graph.zapGremlins(mxUtils.trim(b));if(this.isCompatibleString(b))return this.importXml(b,a,c,g);if(0<b.length)if('{"state":"{\\"Properties\\":'==b.substring(0,26))this.importLucidChart(b,a,c,g);else{f=this.editor.graph;e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,"",f.snap(a),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.fireEvent(new mxEventObject("textInserted","cells",[e])),e.value=
 b,f.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i.test(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}return[]};EditorUi.prototype.formatFileSize=function(b){var a=-1;do b/=1024,a++;while(1024<b);return Math.max(b,.1).toFixed(1)+
 " kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[a]};EditorUi.prototype.convertDataUri=function(b){if("data:"==b.substring(0,5)){var a=b.indexOf(";");0<a&&(b=b.substring(0,a)+b.substring(b.indexOf(",",a+1)))}return b};EditorUi.prototype.isRemoteFileFormat=function(b,a){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(b)};EditorUi.prototype.importLocalFile=function(b,a){if(b&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input");
 c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.importFiles(c.files,null,null,this.maxImageSize)}));c.click()}else{window.openNew=!1;window.openKey="import";if(!a){var f=Editor.useLocalStorage;Editor.useLocalStorage=!b}window.openFile=new OpenFile(mxUtils.bind(this,function(b){this.hideDialog(b)}));window.openFile.setConsumer(mxUtils.bind(this,function(b,a){if(null!=a&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(a)){var c=new Blob([b],{type:"application/octet-stream"});
-this.importVisio(c,mxUtils.bind(this,function(b){this.importXml(b)}),null,a)}else this.editor.graph.setSelectionCells(this.importXml(b))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!a){var d=this.dialog,e=d.close;this.dialog.close=mxUtils.bind(this,function(b){Editor.useLocalStorage=f;e.apply(d,arguments);b&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(b,a,c,d,e,g,k,l,n,m,
-v){m=null!=m?m:!0;var f=!1,h=null,q=mxUtils.bind(this,function(b){var a=null;null!=b&&"<mxlibrary"==b.substring(0,10)?this.loadLibrary(new LocalLibrary(this,b,k)):a=this.importXml(b,c,d,m);null!=l&&l(a)});"image"==a.substring(0,5)?(n=!1,"image/png"==a.substring(0,9)&&(a=v?null:this.extractGraphModelFromPng(b),null!=a&&0<a.length&&(h=this.importXml(a,c,d,m),n=!0)),n||(h=this.editor.graph,a=b.indexOf(";"),0<a&&(b=b.substring(0,a)+b.substring(b.indexOf(",",a+1))),m&&h.isGridEnabled()&&(c=h.snap(c),d=
-h.snap(d)),h=[h.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b+";")])):/(\.*<graphml )/.test(b)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(b,mxUtils.bind(this,function(b){b=this.importXml(b,c,d,m);null!=l&&l(b)})):null!=n&&null!=k&&(/(\.vsdx?)($|\?)/i.test(k)||/(\.vssx)($|\?)/i.test(k))?(f=!0,this.importVisio(n,q)):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(b,k)?(f=!0,this.parseFile(null!=n?n:new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?q(b.responseText):null!=l&&l(null))}),k)):/(\.vsd)($|\?)/i.test(k)||(h=this.insertTextAt(this.validateFileData(b),c,d,!0,null,m));f||null==l||l(h);return h};EditorUi.prototype.base64Encode=function(b){for(var a="",c=0,d=b.length,e,g,k;c<d;){e=b.charCodeAt(c++)&255;if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
+this.importVisio(c,mxUtils.bind(this,function(b){this.importXml(b)}),null,a)}else this.editor.graph.setSelectionCells(this.importXml(b))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!a){var d=this.dialog,e=d.close;this.dialog.close=mxUtils.bind(this,function(b){Editor.useLocalStorage=f;e.apply(d,arguments);b&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(b,a,c,d,e,g,k,m,n,l,
+v){l=null!=l?l:!0;var f=!1,h=null,q=mxUtils.bind(this,function(b){var a=null;null!=b&&"<mxlibrary"==b.substring(0,10)?this.loadLibrary(new LocalLibrary(this,b,k)):a=this.importXml(b,c,d,l);null!=m&&m(a)});"image"==a.substring(0,5)?(n=!1,"image/png"==a.substring(0,9)&&(a=v?null:this.extractGraphModelFromPng(b),null!=a&&0<a.length&&(h=this.importXml(a,c,d,l),n=!0)),n||(h=this.editor.graph,a=b.indexOf(";"),0<a&&(b=b.substring(0,a)+b.substring(b.indexOf(",",a+1))),l&&h.isGridEnabled()&&(c=h.snap(c),d=
+h.snap(d)),h=[h.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b+";")])):/(\.*<graphml )/.test(b)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(b,mxUtils.bind(this,function(b){b=this.importXml(b,c,d,l);null!=m&&m(b)})):null!=n&&null!=k&&(/(\.vsdx?)($|\?)/i.test(k)||/(\.vssx)($|\?)/i.test(k))?(f=!0,this.importVisio(n,q)):!this.isOffline()&&(new XMLHttpRequest).upload&&
+this.isRemoteFileFormat(b,k)?(f=!0,this.parseFile(null!=n?n:new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?q(b.responseText):null!=m&&m(null))}),k)):/(\.vsd)($|\?)/i.test(k)||(h=this.insertTextAt(this.validateFileData(b),c,d,!0,null,l));f||null==m||m(h);return h};EditorUi.prototype.base64Encode=function(b){for(var a="",c=0,d=b.length,e,g,k;c<d;){e=b.charCodeAt(c++)&255;if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
 2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);a+="==";break}g=b.charCodeAt(c++);if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);a+="=";break}k=b.charCodeAt(c++);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>
-2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(k&192)>>6);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return a};EditorUi.prototype.importFiles=function(b,a,c,d,e,g,k,l,n,m,v,p){a=null!=a?a:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;m=null!=m?m:this.maxImageBytes;var f=null!=a&&null!=c,h=!0,q=!1;if(!mxClient.IS_CHROMEAPP&&
-null!=b)for(var t=v||this.resampleThreshold,w=0;w<b.length;w++)if("image/"==b[w].type.substring(0,6)&&b[w].size>t){q=!0;break}var u=mxUtils.bind(this,function(){var n=this.editor.graph,q=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(b,a,c,d,e,g,h,m,k){return null!=b&&"<mxlibrary"==b.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,b,h)),null):this.importFile(b,a,c,d,e,g,h,m,k,f,p)});g=null!=g?g:mxUtils.bind(this,function(b){n.setSelectionCells(b)});if(this.spinner.spin(document.body,
-mxResources.get("loading")))for(var t=b.length,w=t,u=[],A=mxUtils.bind(this,function(b,a){u[b]=a;if(0==--w){this.spinner.stop();if(null!=l)l(u);else{var c=[];n.getModel().beginUpdate();try{for(var f=0;f<u.length;f++){var d=u[f]();null!=d&&(c=c.concat(d))}}finally{n.getModel().endUpdate()}}g(c)}}),H=0;H<t;H++)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,t=l.indexOf(","),w=decodeURIComponent(escape(atob(l.substring(t+1)))),u=mxUtils.parseXml(w),w=u.getElementsByTagName("svg");if(0<w.length){var w=w[0],C=p?null:w.getAttribute("content");null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?A(f,mxUtils.bind(this,function(){try{if(l.substring(0,t+1),null!=u){var b=
-u.getElementsByTagName("svg");if(0<b.length){var m=b[0],k=parseFloat(m.getAttribute("width")),v=parseFloat(m.getAttribute("height")),w=m.getAttribute("viewBox");if(null==w||0==w.length)m.setAttribute("viewBox","0 0 "+k+" "+v);else if(isNaN(k)||isNaN(v)){var p=w.split(" ");3<p.length&&(k=parseFloat(p[2]),v=parseFloat(p[3]))}l=this.createSvgDataUri(mxUtils.getXml(m));var C=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,v)),A=e(l,g.type,a+f*q,c+f*q,Math.max(1,Math.round(k*C)),Math.max(1,Math.round(v*
-C)),g.name,h);if(isNaN(k)||isNaN(v)){var E=new Image;E.onload=mxUtils.bind(this,function(){k=Math.max(1,E.width);v=Math.max(1,E.height);A[0].geometry.width=k;A[0].geometry.height=v;m.setAttribute("viewBox","0 0 "+k+" "+v);l=this.createSvgDataUri(mxUtils.getXml(m));var b=l.indexOf(";");0<b&&(l=l.substring(0,b)+l.substring(l.indexOf(",",b+1)));n.setCellStyles("image",l,[A[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(m))}return A}}}catch(da){}return null})):A(f,mxUtils.bind(this,function(){return e(C,
-"text/xml",a+f*q,c+f*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var E=p?null:this.extractGraphModelFromPng(b.target.result);if(null!=E&&0<E.length){var H=new Image;H.src=b.target.result;A(f,mxUtils.bind(this,function(){return e(E,"text/xml",a+f*q,c+f*q,H.width,H.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,n){A(f,mxUtils.bind(this,function(){if(null!=k&&k.length<m){var t=h&&this.isResampleImage(b.target.result,v)?Math.min(1,Math.min(d/l,d/n)):1;return e(k,g.type,a+f*q,c+f*q,Math.round(l*t),Math.round(n*t),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){A(f,function(){return b})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,a+f*q,c+f*q,240,160,g.name,function(b){A(f,function(){return b})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(H)});q?this.confirmImageResize(function(b){h=b;u()},n):u()};EditorUi.prototype.confirmImageResize=function(b,
+2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(k&192)>>6);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return a};EditorUi.prototype.importFiles=function(b,a,c,d,e,g,k,m,n,l,v,p){a=null!=a?a:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;l=null!=l?l:this.maxImageBytes;var f=null!=a&&null!=c,h=!0,q=!1;if(!mxClient.IS_CHROMEAPP&&
+null!=b)for(var u=v||this.resampleThreshold,t=0;t<b.length;t++)if("image/"==b[t].type.substring(0,6)&&b[t].size>u){q=!0;break}var w=mxUtils.bind(this,function(){var n=this.editor.graph,q=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(b,a,c,d,e,l,g,h,k){return null!=b&&"<mxlibrary"==b.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,b,g)),null):this.importFile(b,a,c,d,e,l,g,h,k,f,p)});g=null!=g?g:mxUtils.bind(this,function(b){n.setSelectionCells(b)});if(this.spinner.spin(document.body,
+mxResources.get("loading")))for(var u=b.length,t=u,w=[],x=mxUtils.bind(this,function(b,a){w[b]=a;if(0==--t){this.spinner.stop();if(null!=m)m(w);else{var c=[];n.getModel().beginUpdate();try{for(var f=0;f<w.length;f++){var d=w[f]();null!=d&&(c=c.concat(d))}}finally{n.getModel().endUpdate()}}g(c)}}),G=0;G<u;G++)mxUtils.bind(this,function(f){var g=b[f],m=new FileReader;m.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 m=
+b.target.result,u=m.indexOf(","),w=decodeURIComponent(escape(atob(m.substring(u+1)))),t=mxUtils.parseXml(w),w=t.getElementsByTagName("svg");if(0<w.length){var w=w[0],A=p?null:w.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?x(f,mxUtils.bind(this,function(){try{if(m.substring(0,u+1),null!=t){var b=
+t.getElementsByTagName("svg");if(0<b.length){var l=b[0],k=parseFloat(l.getAttribute("width")),v=parseFloat(l.getAttribute("height")),w=l.getAttribute("viewBox");if(null==w||0==w.length)l.setAttribute("viewBox","0 0 "+k+" "+v);else if(isNaN(k)||isNaN(v)){var p=w.split(" ");3<p.length&&(k=parseFloat(p[2]),v=parseFloat(p[3]))}m=this.createSvgDataUri(mxUtils.getXml(l));var A=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,v)),x=e(m,g.type,a+f*q,c+f*q,Math.max(1,Math.round(k*A)),Math.max(1,Math.round(v*
+A)),g.name,h);if(isNaN(k)||isNaN(v)){var D=new Image;D.onload=mxUtils.bind(this,function(){k=Math.max(1,D.width);v=Math.max(1,D.height);x[0].geometry.width=k;x[0].geometry.height=v;l.setAttribute("viewBox","0 0 "+k+" "+v);m=this.createSvgDataUri(mxUtils.getXml(l));var b=m.indexOf(";");0<b&&(m=m.substring(0,b)+m.substring(m.indexOf(",",b+1)));n.setCellStyles("image",m,[x[0]])});D.src=this.createSvgDataUri(mxUtils.getXml(l))}return x}}}catch(da){}return null})):x(f,mxUtils.bind(this,function(){return e(A,
+"text/xml",a+f*q,c+f*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var D=p?null:this.extractGraphModelFromPng(b.target.result);if(null!=D&&0<D.length){var G=new Image;G.src=b.target.result;x(f,mxUtils.bind(this,function(){return e(D,"text/xml",a+f*q,c+f*q,G.width,G.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,m,n){x(f,mxUtils.bind(this,function(){if(null!=k&&k.length<l){var u=h&&this.isResampleImage(b.target.result,v)?Math.min(1,Math.min(d/m,d/n)):1;return e(k,g.type,a+f*q,c+f*q,Math.round(m*u),Math.round(n*u),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),h,d,v)}),mxUtils.bind(this,
+function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(b.target.result,g.type,a+f*q,c+f*q,240,160,g.name,function(b){x(f,function(){return b})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,a+f*q,c+f*q,240,160,g.name,function(b){x(f,function(){return b})},g):"image"==g.type.substring(0,5)?m.readAsDataURL(g):m.readAsText(g)})(G)});q?this.confirmImageResize(function(b){h=b;w()},n):w()};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),n=document.createElement("canvas");n.width=m;n.height=l;n.getContext("2d").drawImage(b,0,0,m,l);var q=n.toDataURL();if(q.length<a.length){var t=document.createElement("canvas");t.width=m;t.height=l;var p=t.toDataURL();q!==p&&(a=q,f=m,h=l)}}}catch(B){}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>>>1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(b,a,c,d){for(var f=0;f<d;f++)b=EditorUi.prototype.crcTable[(b^a[c+f])&255]^b>>>8;return b};EditorUi.prototype.crc32=function(b){this.crcTable=this.crcTable||this.createCrcTable();for(var a=-1,c=0;c<b.length;c++)a=a>>>8^this.crcTable[(a^b.charCodeAt(c))&255];return(a^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(b,
-a,c,d,e){function f(b,a){var c=k;k+=a;return b.substring(c,k)}function g(b){b=f(b,4);return b.charCodeAt(3)+(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}function h(b){return String.fromCharCode(b>>24&255,b>>16&255,b>>8&255,b&255)}b=b.substring(b.indexOf(",")+1);b=window.atob?atob(b):Base64.decode(b,!0);var k=0;if(f(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(b,4),"IHDR"!=f(b,4))null!=e&&e();else{f(b,17);e=b.substring(0,k);do{var m=
-g(b);if("IDAT"==f(b,4)){e=b.substring(0,k-8);c=c+String.fromCharCode(0)+("zTXt"==a?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,a,0,4);d=this.updateCRC(d,c,0,c.length);e+=h(c.length)+a+c+h(d^4294967295);e+=b.substring(k-8,b.length);break}e+=b.substring(k-8,k-4+m);f(b,m);f(b,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(b){var a=null;try{var c=b.substring(b.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?
+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 l=Math.round(f/k),v=Math.round(h/k),m=document.createElement("canvas");m.width=l;m.height=v;m.getContext("2d").drawImage(b,0,0,l,v);var n=m.toDataURL();if(n.length<a.length){var q=document.createElement("canvas");q.width=l;q.height=v;var u=q.toDataURL();n!==u&&(a=n,f=l,h=v)}}}catch(z){}c(a,f,h)};
+EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(b,a,c,d){for(var f=0;f<d;f++)b=EditorUi.prototype.crcTable[(b^a[c+f])&255]^b>>>8;return b};EditorUi.prototype.crc32=function(b){this.crcTable=this.crcTable||this.createCrcTable();for(var a=-1,c=0;c<b.length;c++)a=a>>>8^this.crcTable[(a^b.charCodeAt(c))&255];return(a^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(b,
+a,c,d,e){function f(b,a){var c=k;k+=a;return b.substring(c,k)}function g(b){b=f(b,4);return b.charCodeAt(3)+(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}function h(b){return String.fromCharCode(b>>24&255,b>>16&255,b>>8&255,b&255)}b=b.substring(b.indexOf(",")+1);b=window.atob?atob(b):Base64.decode(b,!0);var k=0;if(f(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(b,4),"IHDR"!=f(b,4))null!=e&&e();else{f(b,17);e=b.substring(0,k);do{var l=
+g(b);if("IDAT"==f(b,4)){e=b.substring(0,k-8);c=c+String.fromCharCode(0)+("zTXt"==a?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,a,0,4);d=this.updateCRC(d,c,0,c.length);e+=h(c.length)+a+c+h(d^4294967295);e+=b.substring(k-8,b.length);break}e+=b.substring(k-8,k-4+l);f(b,l);f(b,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(b){var a=null;try{var c=b.substring(b.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?
 atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(b,c,f){b=d.substring(b+8,b+8+f);"zTXt"==c?(f=b.indexOf(String.fromCharCode(0)),"mxGraphModel"==b.substring(0,f)&&(b=this.editor.graph.bytesToString(pako.inflateRaw(b.substring(f+2))).replace(/\+/g," "),null!=b&&0<b.length&&(a=b))):"tEXt"==c&&(b=b.split(String.fromCharCode(0)),1<b.length&&"mxGraphModel"==b[0]&&(a=b[1]));if(null!=a||"IDAT"==c)return!0}))}catch(q){}null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a));null!=a&&
 "%"==a.charAt(0)&&(a=decodeURIComponent(a));return a};EditorUi.prototype.loadImage=function(b,a,c){var f=new Image;f.onload=function(){a(f)};null!=c&&(f.onerror=c);f.src=b};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){function b(b){var c=b.indexOf(",");0<c&&(b=a.getPageById(b.substring(c+1)))&&a.selectPage(b)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(a,c){b(c.getProperty("href"))});
 this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=c.addClickHandler;
-c.addClickHandler=function(a,f,d){var g=f;f=function(a,f){if(null==f){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(f=d.getAttribute("href"))}null==f||!c.isPageLink(f)||!mxEvent.isTouchEvent(a)&&mxEvent.isPopupTrigger(a)||(b(f),mxEvent.consume(a));null!=g&&g(a,f)};e.call(this,a,f,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=
-a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var g=c.getGlobalVariable;c.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:g.apply(this,arguments)};var l=c.createLinkForHint;c.createLinkForHint=function(f,d){var e=c.isPageLink(f);if(e){var g=f.indexOf(",");0<g&&(g=a.getPageById(f.substring(g+1)),d=null!=g?g.getName():
-mxResources.get("pageNotFound"))}g=l.call(this,f,d);e&&mxEvent.addListener(g,"click",function(a){b(f);mxEvent.consume(a)});return g};var n=c.labelLinkClicked;c.labelLinkClicked=function(a,f,d){var e=f.getAttribute("href");if(null==e||!c.isPageLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))n.apply(this,arguments);else{if(!c.isEnabled()||null!=a&&c.isCellLocked(a.cell))b(e),c.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,
-c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var m=function(){window.setTimeout(function(){v.innerHTML="&nbsp;";v.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);
+c.addClickHandler=function(a,f,d){var l=f;f=function(a,f){if(null==f){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(f=d.getAttribute("href"))}null==f||!c.isPageLink(f)||!mxEvent.isTouchEvent(a)&&mxEvent.isPopupTrigger(a)||(b(f),mxEvent.consume(a));null!=l&&l(a,f)};e.call(this,a,f,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=
+a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var g=c.getGlobalVariable;c.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:g.apply(this,arguments)};var m=c.createLinkForHint;c.createLinkForHint=function(f,d){var e=c.isPageLink(f);if(e){var l=f.indexOf(",");0<l&&(l=a.getPageById(f.substring(l+1)),d=null!=l?l.getName():
+mxResources.get("pageNotFound"))}l=m.call(this,f,d);e&&mxEvent.addListener(l,"click",function(a){b(f);mxEvent.consume(a)});return l};var n=c.labelLinkClicked;c.labelLinkClicked=function(a,f,d){var e=f.getAttribute("href");if(null==e||!c.isPageLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))n.apply(this,arguments);else{if(!c.isEnabled()||null!=a&&c.isCellLocked(a.cell))b(e),c.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,
+c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var l=function(){window.setTimeout(function(){v.innerHTML="&nbsp;";v.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);
 this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(b){var a=this.editor.graph;if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,f=!1,d=0;d<c.types.length;d++)if("text/"===c.types[d].substring(0,5)){f=!0;break}if(!f){var e=c.items;
-for(index in e){var g=e[index];if("file"===g.kind){if(a.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(b,c,f,d,e,g){a.insertImage(b,e,g)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()});else{var m=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],m.x,m.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(N){}}),!1);var v=document.createElement("div");v.style.position="absolute";v.style.whiteSpace=
-"nowrap";v.style.overflow="hidden";v.style.display="block";v.contentEditable=!0;mxUtils.setOpacity(v,0);v.style.width="1px";v.style.height="1px";v.innerHTML="&nbsp;";var H=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var a=mxEvent.getSource(b);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==a.nodeName||"TEXTAREA"==
-a.nodeName||!(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)||H||(v.style.left=c.container.scrollLeft+10+"px",v.style.top=c.container.scrollTop+10+"px",c.container.appendChild(v),H=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){v.focus();document.execCommand("selectAll",!1,null)},0):(v.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var a=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){!H||
-224!=a&&17!=a&&91!=a||(H=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),v.parentNode.removeChild(v))}),0)}));mxEvent.addListener(v,"copy",mxUtils.bind(this,function(b){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(v),m())}));mxEvent.addListener(v,"cut",mxUtils.bind(this,function(b){c.isEnabled()&&(this.copyCells(v,!0),m())}));mxEvent.addListener(v,"paste",mxUtils.bind(this,function(b){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(v.innerHTML="&nbsp;",v.focus(),
-window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,v);v.innerHTML="&nbsp;"}),0))}),!0);var G=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==v?!0:G.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(b){var a=this.editor.graph,
+for(index in e){var l=e[index];if("file"===l.kind){if(a.isEditing())this.importFiles([l.getAsFile()],0,0,this.maxImageSize,function(b,c,f,d,e,l){a.insertImage(b,e,l)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()});else{var g=this.editor.graph.getInsertPoint();this.importFiles([l.getAsFile()],g.x,g.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(N){}}),!1);var v=document.createElement("div");v.style.position="absolute";v.style.whiteSpace=
+"nowrap";v.style.overflow="hidden";v.style.display="block";v.contentEditable=!0;mxUtils.setOpacity(v,0);v.style.width="1px";v.style.height="1px";v.innerHTML="&nbsp;";var G=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var a=mxEvent.getSource(b);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==a.nodeName||"TEXTAREA"==
+a.nodeName||!(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)||G||(v.style.left=c.container.scrollLeft+10+"px",v.style.top=c.container.scrollTop+10+"px",c.container.appendChild(v),G=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){v.focus();document.execCommand("selectAll",!1,null)},0):(v.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var a=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){!G||
+224!=a&&17!=a&&91!=a||(G=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),v.parentNode.removeChild(v))}),0)}));mxEvent.addListener(v,"copy",mxUtils.bind(this,function(b){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(v),l())}));mxEvent.addListener(v,"cut",mxUtils.bind(this,function(b){c.isEnabled()&&(this.copyCells(v,!0),l())}));mxEvent.addListener(v,"paste",mxUtils.bind(this,function(b){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(v.innerHTML="&nbsp;",v.focus(),
+window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,v);v.innerHTML="&nbsp;"}),0))}),!0);var F=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==v?!0:F.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(b){var a=this.editor.graph,
 c=a.cellEditor.text2,f=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(b){null!=f&&(f.parentNode.removeChild(f),f=null);b.stopPropagation();b.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null==f&&(!mxClient.IS_IE||10<document.documentMode)&&(f=this.highlightElement(c));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(b){null!=f&&(f.parentNode.removeChild(f),f=null);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,
-0,0,this.maxImageSize,function(b,c,f,d,e,g){a.insertImage(b,e,g)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(b){var f=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,
+0,0,this.maxImageSize,function(b,c,f,d,e,l){a.insertImage(b,e,l)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(b){var f=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,
 Math.min(d/Math.max(1,f)),d/Math.max(1,b));a.insertImage(decodeURIComponent(c),f*d,b*d)})):document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"));b.stopPropagation();b.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var A=document.createElement("div");A.style.position="absolute";A.style.top=
-"95px";A.style.left="220px";A.style.width="30px";A.style.height="30px";A.style.background="whiteSmoke";document.body.appendChild(A);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width=
+typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var y=document.createElement("div");y.style.position="absolute";y.style.top="125px";y.style.left="220px";y.style.width="30px";y.style.height="1000px";y.style.background="whiteSmoke";document.body.appendChild(y);var J=document.createElement("div");J.style.position="absolute";J.style.top=
+"95px";J.style.left="220px";J.style.width="30px";J.style.height="30px";J.style.background="whiteSmoke";document.body.appendChild(J);this.vRuler=new mxRuler(this.editor.graph,y,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width=
 "98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),p.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(b,a){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);
-this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var B=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==this.styleInput?!0:B.apply(this,arguments)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var D=null;mxEvent.addListener(c.container,"dragleave",function(b){c.isEnabled()&&(null!=D&&(D.parentNode.removeChild(D),
-D=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(b){null==D&&(!mxClient.IS_IE||10<document.documentMode)&&(D=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(b){null!=D&&(D.parentNode.removeChild(D),D=null);if(c.isEnabled()){var a=mxUtils.convertPoint(c.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),
-f=c.view.translate,d=c.view.scale,e=a.x/d-f.x,g=a.y/d-f.y;mxEvent.isAltDown(b)&&(g=e=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var m=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,a=this.extractGraphModelFromEvent(b,null!=this.pages);if(null!=a)c.setSelectionCells(this.importXml(a,e,g,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,
-"text/html")){var h=b.dataTransfer.getData("text/html"),a=document.createElement("div");a.innerHTML=h;var k=null,f=a.getElementsByTagName("img");null!=f&&1==f.length?(h=f[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(k=!0)):(a=a.getElementsByTagName("a"),null!=a&&1==a.length&&(h=a[0].getAttribute("href")));var l=!0,v=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,e,g,!0,k,null,l))});k&&h.length>this.resampleThreshold?this.confirmImageResize(function(b){l=
-b;v()},mxEvent.isControlDown(b)):v()}else null!=m&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)?this.loadImage(decodeURIComponent(m),mxUtils.bind(this,function(b){var a=Math.max(1,b.width);b=Math.max(1,b.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,a)),f/Math.max(1,b));c.setSelectionCell(c.insertVertex(null,null,"",e,g,a*f,b*f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+m+";"))}),mxUtils.bind(this,function(b){c.setSelectionCells(this.insertTextAt(m,
-e,g,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),e,g,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
+this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var z=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==this.styleInput?!0:z.apply(this,arguments)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(b){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),
+C=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(b){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(b){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var a=mxUtils.convertPoint(c.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),
+f=c.view.translate,d=c.view.scale,e=a.x/d-f.x,l=a.y/d-f.y;mxEvent.isAltDown(b)&&(l=e=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,e,l,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var g=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,a=this.extractGraphModelFromEvent(b,null!=this.pages);if(null!=a)c.setSelectionCells(this.importXml(a,e,l,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,
+"text/html")){var h=b.dataTransfer.getData("text/html"),a=document.createElement("div");a.innerHTML=h;var k=null,f=a.getElementsByTagName("img");null!=f&&1==f.length?(h=f[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(k=!0)):(a=a.getElementsByTagName("a"),null!=a&&1==a.length&&(h=a[0].getAttribute("href")));var m=!0,v=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,e,l,!0,k,null,m))});k&&h.length>this.resampleThreshold?this.confirmImageResize(function(b){m=
+b;v()},mxEvent.isControlDown(b)):v()}else null!=g&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(g)?this.loadImage(decodeURIComponent(g),mxUtils.bind(this,function(b){var a=Math.max(1,b.width);b=Math.max(1,b.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,a)),f/Math.max(1,b));c.setSelectionCell(c.insertVertex(null,null,"",e,l,a*f,b*f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+g+";"))}),mxUtils.bind(this,function(b){c.setSelectionCells(this.insertTextAt(g,
+e,l,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),e,l,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
 mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(b,a){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());
 this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(b,a){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(b,a){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged",
 mxUtils.bind(this,function(b,a){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(b,a){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||
 8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(b,a){var c=this.editor.graph;if(c.isSelectionEmpty())b.innerHTML="";else{var f=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),d=mxUtils.getXml(this.editor.graph.encodeCells(f));mxUtils.setTextContent(b,encodeURIComponent(d));a?(c.removeCells(f,
 !1),c.lastPasteXml=null):(c.lastPasteXml=d,c.pasteCounter=0);b.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(b,a){if(!mxEvent.isConsumed(b)){var c=a.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var f=c[0].getAttribute("data-lucid-content");null!=f&&0<f.length&&(this.importLucidChart(f,0,0),mxEvent.consume(b))}else{var f=this.editor.graph,d=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(a):a.textContent),e=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(x){}try{var c=a.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(d);this.isCompatibleString(k)&&(e=!0,d=k)}catch(x){}f.lastPasteXml==d?f.pasteCounter++:(f.lastPasteXml=d,f.pasteCounter=0);c=f.pasteCounter*f.gridSize;if(null!=d&&0<d.length&&(e||this.isCompatibleString(d)?f.setSelectionCells(this.importXml(d,
-c,c)):(e=f.getInsertPoint(),f.isMouseInsertPoint()&&(c=0,f.lastPasteXml==d&&0<f.pasteCounter&&f.pasteCounter--),f.setSelectionCells(this.insertTextAt(d,e.x+c,e.y+c,!0))),!f.isSelectionEmpty())){f.scrollCellToVisible(f.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(f.view.getState(f.getSelectionCell()));try{mxEvent.consume(b)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(b){if(Graph.fileSupport)for(var a=null,c=0;c<b.length;c++)mxEvent.addListener(b[c],"dragleave",
+8==document.documentMode?mxUtils.getTextContent(a):a.textContent),e=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(B){}try{var c=a.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(d);this.isCompatibleString(k)&&(e=!0,d=k)}catch(B){}f.lastPasteXml==d?f.pasteCounter++:(f.lastPasteXml=d,f.pasteCounter=0);c=f.pasteCounter*f.gridSize;if(null!=d&&0<d.length&&(e||this.isCompatibleString(d)?f.setSelectionCells(this.importXml(d,
+c,c)):(e=f.getInsertPoint(),f.isMouseInsertPoint()&&(c=0,f.lastPasteXml==d&&0<f.pasteCounter&&f.pasteCounter--),f.setSelectionCells(this.insertTextAt(d,e.x+c,e.y+c,!0))),!f.isSelectionEmpty())){f.scrollCellToVisible(f.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(f.view.getState(f.getSelectionCell()));try{mxEvent.consume(b)}catch(B){}}}}};EditorUi.prototype.addFileDropHandler=function(b){if(Graph.fileSupport)for(var a=null,c=0;c<b.length;c++)mxEvent.addListener(b[c],"dragleave",
 function(b){null!=a&&(a.parentNode.removeChild(a),a=null);b.stopPropagation();b.preventDefault()}),mxEvent.addListener(b[c],"dragover",mxUtils.bind(this,function(b){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==a&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(a=this.highlightElement());b.stopPropagation();b.preventDefault()})),mxEvent.addListener(b[c],"drop",mxUtils.bind(this,function(b){null!=a&&(a.parentNode.removeChild(a),a=null);if(this.editor.graph.isEnabled()||
 "1"!=urlParams.embed)if(0<b.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(b.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b)):this.openFiles(b.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(b);if(null==c){var f=null!=b.dataTransfer?b.dataTransfer:b.clipboardData;null!=f&&(10==document.documentMode||11==document.documentMode?c=f.getData("Text"):(c=null,c=0<=mxUtils.indexOf(f.types,
 "text/uri-list")?b.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(f.types,"text/html")?f.getData("text/html"):null,null!=c&&0<c.length?(f=document.createElement("div"),f.innerHTML=c,f=f.getElementsByTagName("img"),0<f.length&&(c=f[0].getAttribute("src"))):0<=mxUtils.indexOf(f.types,"text/plain")&&(c=f.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?
@@ -7344,7 +7408,7 @@ Math.max(0,d-3)+"px";g.style.height=Math.max(0,e-3)+"px";null!=b&&b.parentNode==
 function(b,a){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<b.length;c++)mxUtils.bind(this,function(b){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){var f=c.target.result,d=b.name;if(null!=d&&0<d.length){!this.useCanvasForExport&&/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml");var e=mxUtils.bind(this,function(b){d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml";if("<mxlibrary"==b.substring(0,10)){null==this.getCurrentFile()&&
 "1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,a);try{this.loadLibrary(new LocalLibrary(this,b,d))}catch(v){this.handleError(v,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(b,d,a)});if(/(\.vsdx?)($|\?)/i.test(d)||/(\.vssx)($|\?)/i.test(d))this.importVisio(b,mxUtils.bind(this,function(b){this.spinner.stop();e(b)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(f,d))this.parseFile(b,mxUtils.bind(this,
 function(b){4==b.readyState&&(this.spinner.stop(),200<=b.status&&299>=b.status?e(b.responseText):this.handleError({message:mxResources.get(413==b.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==f.substring(0,26))/(\.json)$/i.test(d)&&(d=d.substring(0,d.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,d,a),this.importLucidChart(f,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,a);try{this.loadLibrary(new LocalLibrary(this,c.target.result,b.name))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}else"image/png"==b.type.substring(0,9)&&(f=this.extractGraphModelFromPng(f)),this.spinner.stop(),this.openLocalFile(f,d,a)}});c.onerror=mxUtils.bind(this,function(b){this.spinner.stop();
+else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,a);try{this.loadLibrary(new LocalLibrary(this,c.target.result,b.name))}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}else"image/png"==b.type.substring(0,9)&&(f=this.extractGraphModelFromPng(f)),this.spinner.stop(),this.openLocalFile(f,d,a)}});c.onerror=mxUtils.bind(this,function(b){this.spinner.stop();
 this.handleError(b);window.openFile=null});"image"===b.type.substring(0,5)&&"image/svg"!==b.type.substring(0,9)?c.readAsDataURL(b):c.readAsText(b)})(b[c])};EditorUi.prototype.openLocalFile=function(b,a,c){var f=this.getCurrentFile(),d=mxUtils.bind(this,function(){window.openFile=null;if(null==a&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var f=mxUtils.parseXml(b);null!=f&&(this.editor.setGraphXml(f.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,b,
 a||this.defaultFilename,c))});null!=b&&0<b.length&&(null==f||!f.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?d():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=f&&f.isModified()?this.confirm(mxResources.get("allChangesLost"),null,d,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(b,a),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"),
 null,d,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var b={};if(null!=this.pages)for(var a=0;a<this.pages.length;a++)this.updatePageRoot(this.pages[a]),this.addBasenamesForCell(this.pages[a].root,b);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),b);var a=[],c;for(c in b)a.push(c);return a};EditorUi.prototype.addBasenamesForCell=function(b,a){function c(b){if(null!=b){var c=b.lastIndexOf(".");0<c&&(b=b.substring(c+1,
@@ -7354,38 +7418,38 @@ null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};Edito
 this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?
 this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(b,a){null!=b?b.getPublicUrl(a):a(null)};EditorUi.prototype.createLoadMessage=function(b){var a=this.editor.graph;return{event:b,pageVisible:a.pageVisible,translate:a.view.translate,scale:a.view.scale,page:a.view.getBackgroundPageBounds(),bounds:a.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(b){var a=null,c=!1,d=!1,e=null,g=mxUtils.bind(this,function(b,
 a){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function g(b){if(null!=b&&"function"===typeof b.charAt&&"<"!=b.charAt(0))try{"data:image/svg+xml;base64,"==b.substring(0,26)?b=atob(b.substring(26)):"data:image/svg+xml;utf8,"==b.substring(0,24)&&
-(b=b.substring(24)),null!=b&&("%"==b.charAt(0)?b=decodeURIComponent(b):"<"!=b.charAt(0)&&(b=this.editor.graph.decompress(b)))}catch(F){}return b}if(f.source==(window.opener||window.parent)){var m=f.data;if("json"==urlParams.proto){try{m=JSON.parse(m)}catch(E){m=null}if(null==m)return;if("dialog"==m.action){this.showError(null!=m.titleKey?mxResources.get(m.titleKey):m.title,null!=m.messageKey?mxResources.get(m.messageKey):m.message,null!=m.buttonKey?mxResources.get(m.buttonKey):m.button);null!=m.modified&&
-(this.editor.modified=m.modified);return}if("prompt"==m.action){this.spinner.stop();var h=new FilenameDialog(this,m.defaultValue||"",null!=m.okKey?mxResources.get(m.okKey):null,function(b){null!=b&&k.postMessage(JSON.stringify({event:"prompt",value:b,message:m}),"*")},null!=m.titleKey?mxResources.get(m.titleKey):m.title);this.showDialog(h.container,300,80,!0,!1);h.init();return}if("draft"==m.action){h=null;h="data:image/png;base64,"==m.xml.substring(0,22)?this.extractGraphModelFromPng(m.xml):g(m.xml);
-this.spinner.stop();h=new DraftDialog(this,mxResources.get("draftFound",[m.name||this.defaultFilename]),h,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:m}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:m}),"*")}),m.editKey?mxResources.get(m.editKey):null,m.discardKey?mxResources.get(m.discardKey):null,m.ignore?mxUtils.bind(this,function(){this.hideDialog();
-k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:m}),"*")}):null);this.showDialog(h.container,640,480,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));try{h.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),message:m}),"*")}return}if("template"==m.action){this.spinner.stop();var h=1==m.enableRecent,l=1==m.enableSearch,h=new NewDialog(this,!1,null!=m.callback,mxUtils.bind(this,function(a,c){a=a||this.emptyDiagramXml;null!=m.callback?
-k.postMessage(JSON.stringify({event:"template",xml:a,blank:a==this.emptyDiagramXml,name:c}),"*"):(b(a,f,a!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,h?mxUtils.bind(this,function(b){this.recentReadyCallback=b;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(b,a){this.searchReadyCallback=a;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:b}),"*")}):null,function(b,a,c){k.postMessage(JSON.stringify({event:"template",
-docUrl:b,info:a,name:c}),"*")});this.showDialog(h.container,620,440,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));h.init();return}if("searchDocsList"==m.action)this.searchReadyCallback(m.list,m.errorMsg);else if("recentDocsList"==m.action)this.recentReadyCallback(m.list,m.errorMsg);else{if("status"==m.action){null!=m.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(m.messageKey))):null!=m.message&&this.editor.setStatus(mxUtils.htmlEntities(m.message));
-null!=m.modified&&(this.editor.modified=m.modified);return}if("spinner"==m.action){var n=null!=m.messageKey?mxResources.get(m.messageKey):m.message;null==m.show||m.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==m.action){if("png"==m.format||"xmlpng"==m.format){if(null==m.spin&&null==m.spinKey||this.spinner.spin(document.body,null!=m.spinKey?mxResources.get(m.spinKey):m.spin)){var p=null!=m.xml?m.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var w=this.editor.graph,
-q=mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();var a=this.createLoadMessage("export");a.format=m.format;a.message=m;a.data=b;a.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(a),"*")}),t=mxUtils.bind(this,function(b){null==b&&(b=Editor.blankImage);"xmlpng"==m.format&&(b=this.writeGraphModelToPng(b,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));w!=this.editor.graph&&w.container.parentNode.removeChild(w.container);q(b)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var w=this.createTemporaryGraph(w.getStylesheet()),u=w.getGlobalVariable,C=this.pages[0];w.getGlobalVariable=function(b){return"page"==b?C.getName():"pagenumber"==b?1:u.apply(this,arguments)};document.body.appendChild(w.container);w.model.setRoot(C.root)}this.exportToCanvas(mxUtils.bind(this,function(b){t(b.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,w)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==m.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?q("data:image/png;base64,"+b.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=m.xml&&0<m.xml.length&&this.setFileData(m.xml);n=this.createLoadMessage("export");if("html2"==m.format||"html"==m.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))h=this.getXmlFileData(),n.xml=mxUtils.getXml(h),n.data=
-this.getFileData(null,null,!0,null,null,null,h),n.format=m.format;else if("html"==m.format)p=this.editor.getGraphXml(),n.data=this.getHtml(p,this.editor.graph),n.xml=mxUtils.getXml(p),n.format=m.format;else{mxSvgCanvas2D.prototype.foAltText=null;h=this.editor.graph.background;h==mxConstants.NONE&&(h=null);n.xml=this.getFileData(!0);n.format="svg";if(m.embedImages||null==m.embedImages){if(null==m.spin&&null==m.spinKey||this.spinner.spin(document.body,null!=m.spinKey?mxResources.get(m.spinKey):m.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==m.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(b);k.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(h),mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(b));k.postMessage(JSON.stringify(n),"*")}));return}h="xmlsvg"==m.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(h));n.data=this.createSvgDataUri(h)}k.postMessage(JSON.stringify(n),"*")}return}if("load"==m.action)d=1==m.autosave,this.hideDialog(),null!=m.modified&&null==urlParams.modified&&(urlParams.modified=m.modified),null!=m.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=m.saveAndExit),null!=m.title&&null!=this.buttonContainer&&(h=document.createElement("span"),mxUtils.write(h,m.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(h),this.embedFilenameSpan=h),m=null!=m.xmlpng?this.extractGraphModelFromPng(m.xmlpng):null!=m.xml&&"data:image/png;base64,"==m.xml.substring(0,22)?this.extractGraphModelFromPng(m.xml):m.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(m)}),"*");return}}}m=g(m);c=!0;try{b(m,f)}catch(E){this.handleError(E)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var y=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=y();d&&null==a&&(a=mxUtils.bind(this,function(b,a){var f=y();if(f!=e&&!c){var d=this.createLoadMessage("autosave");d.xml=f;f=JSON.stringify(d);(window.opener||window.parent).postMessage(f,
+(b=b.substring(24)),null!=b&&("%"==b.charAt(0)?b=decodeURIComponent(b):"<"!=b.charAt(0)&&(b=this.editor.graph.decompress(b)))}catch(E){}return b}if(f.source==(window.opener||window.parent)){var l=f.data;if("json"==urlParams.proto){try{l=JSON.parse(l)}catch(D){l=null}if(null==l)return;if("dialog"==l.action){this.showError(null!=l.titleKey?mxResources.get(l.titleKey):l.title,null!=l.messageKey?mxResources.get(l.messageKey):l.message,null!=l.buttonKey?mxResources.get(l.buttonKey):l.button);null!=l.modified&&
+(this.editor.modified=l.modified);return}if("prompt"==l.action){this.spinner.stop();var h=new FilenameDialog(this,l.defaultValue||"",null!=l.okKey?mxResources.get(l.okKey):null,function(b){null!=b&&k.postMessage(JSON.stringify({event:"prompt",value:b,message:l}),"*")},null!=l.titleKey?mxResources.get(l.titleKey):l.title);this.showDialog(h.container,300,80,!0,!1);h.init();return}if("draft"==l.action){h=null;h="data:image/png;base64,"==l.xml.substring(0,22)?this.extractGraphModelFromPng(l.xml):g(l.xml);
+this.spinner.stop();h=new DraftDialog(this,mxResources.get("draftFound",[l.name||this.defaultFilename]),h,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:l}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:l}),"*")}),l.editKey?mxResources.get(l.editKey):null,l.discardKey?mxResources.get(l.discardKey):null,l.ignore?mxUtils.bind(this,function(){this.hideDialog();
+k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:l}),"*")}):null);this.showDialog(h.container,640,480,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));try{h.init()}catch(D){k.postMessage(JSON.stringify({event:"draft",error:D.toString(),message:l}),"*")}return}if("template"==l.action){this.spinner.stop();var h=1==l.enableRecent,m=1==l.enableSearch,h=new NewDialog(this,!1,null!=l.callback,mxUtils.bind(this,function(a,c){a=a||this.emptyDiagramXml;null!=l.callback?
+k.postMessage(JSON.stringify({event:"template",xml:a,blank:a==this.emptyDiagramXml,name:c}),"*"):(b(a,f,a!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,h?mxUtils.bind(this,function(b){this.recentReadyCallback=b;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,m?mxUtils.bind(this,function(b,a){this.searchReadyCallback=a;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:b}),"*")}):null,function(b,a,c){k.postMessage(JSON.stringify({event:"template",
+docUrl:b,info:a,name:c}),"*")});this.showDialog(h.container,620,440,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));h.init();return}if("searchDocsList"==l.action)this.searchReadyCallback(l.list,l.errorMsg);else if("recentDocsList"==l.action)this.recentReadyCallback(l.list,l.errorMsg);else{if("status"==l.action){null!=l.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(l.messageKey))):null!=l.message&&this.editor.setStatus(mxUtils.htmlEntities(l.message));
+null!=l.modified&&(this.editor.modified=l.modified);return}if("spinner"==l.action){var n=null!=l.messageKey?mxResources.get(l.messageKey):l.message;null==l.show||l.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==l.action){if("png"==l.format||"xmlpng"==l.format){if(null==l.spin&&null==l.spinKey||this.spinner.spin(document.body,null!=l.spinKey?mxResources.get(l.spinKey):l.spin)){var p=null!=l.xml?l.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph,
+u=mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();var a=this.createLoadMessage("export");a.format=l.format;a.message=l;a.data=b;a.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(a),"*")}),w=mxUtils.bind(this,function(b){null==b&&(b=Editor.blankImage);"xmlpng"==l.format&&(b=this.writeGraphModelToPng(b,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);u(b)});if(this.isExportToCanvas()){if(null!=
+this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),t=q.getGlobalVariable,A=this.pages[0];q.getGlobalVariable=function(b){return"page"==b?A.getName():"pagenumber"==b?1:t.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(A.root)}this.exportToCanvas(mxUtils.bind(this,function(b){w(b.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){w(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
+("xmlpng"==l.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?u("data:image/png;base64,"+b.getText()):w(null)}),mxUtils.bind(this,function(){w(null)}))}}else{null!=l.xml&&0<l.xml.length&&this.setFileData(l.xml);n=this.createLoadMessage("export");if("html2"==l.format||"html"==l.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))h=this.getXmlFileData(),n.xml=mxUtils.getXml(h),n.data=
+this.getFileData(null,null,!0,null,null,null,h),n.format=l.format;else if("html"==l.format)p=this.editor.getGraphXml(),n.data=this.getHtml(p,this.editor.graph),n.xml=mxUtils.getXml(p),n.format=l.format;else{mxSvgCanvas2D.prototype.foAltText=null;h=this.editor.graph.background;h==mxConstants.NONE&&(h=null);n.xml=this.getFileData(!0);n.format="svg";if(l.embedImages||null==l.embedImages){if(null==l.spin&&null==l.spinKey||this.spinner.spin(document.body,null!=l.spinKey?mxResources.get(l.spinKey):l.spin))this.editor.graph.setEnabled(!1),
+"xmlsvg"==l.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(b);k.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(h),mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(b));k.postMessage(JSON.stringify(n),"*")}));return}h="xmlsvg"==l.format?this.getEmbeddedSvg(this.getFileData(!0),
+this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(h));n.data=this.createSvgDataUri(h)}k.postMessage(JSON.stringify(n),"*")}return}if("load"==l.action)d=1==l.autosave,this.hideDialog(),null!=l.modified&&null==urlParams.modified&&(urlParams.modified=l.modified),null!=l.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=l.saveAndExit),null!=l.title&&null!=this.buttonContainer&&(h=document.createElement("span"),mxUtils.write(h,l.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
+"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(h),this.embedFilenameSpan=h),l=null!=l.xmlpng?this.extractGraphModelFromPng(l.xmlpng):null!=l.xml&&"data:image/png;base64,"==l.xml.substring(0,22)?this.extractGraphModelFromPng(l.xml):l.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",
+data:JSON.stringify(l)}),"*");return}}}l=g(l);c=!0;try{b(l,f)}catch(D){this.handleError(D)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var x=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=x();d&&null==a&&(a=mxUtils.bind(this,function(b,a){var f=x();if(f!=e&&!c){var d=this.createLoadMessage("autosave");d.xml=f;f=JSON.stringify(d);(window.opener||window.parent).postMessage(f,
 "*")}e=f}),this.editor.graph.model.addListener(mxEvent.CHANGE,a),this.editor.graph.addListener("gridSizeChanged",a),this.editor.graph.addListener("shadowVisibleChanged",a),this.addListener("pageFormatChanged",a),this.addListener("pageScaleChanged",a),this.addListener("backgroundColorChanged",a),this.addListener("backgroundImageChanged",a),this.addListener("foldingEnabledChanged",a),this.addListener("mathEnabledChanged",a),this.addListener("gridEnabledChanged",a),this.addListener("guidesEnabledChanged",
 a),this.addListener("pageViewChanged",a));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(g,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var b=document.createElement("div");b.style.display="inline-block";b.style.position="absolute";b.style.paddingTop="atlas"==uiTheme?
 "2px":"3px";b.style.paddingLeft="8px";b.style.paddingBottom="2px";var a=document.createElement("button");mxUtils.write(a,mxResources.get("save"));a.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");a.className="geBigButton";a.style.fontSize="12px";a.style.padding="4px 6px 4px 6px";a.style.borderRadius="3px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));b.appendChild(a);"1"==urlParams.saveAndExit&&(a=document.createElement("a"),
 mxUtils.write(a,mxResources.get("saveAndExit")),a.setAttribute("title",mxResources.get("saveAndExit")),a.style.fontSize="12px",a.style.marginLeft="6px",a.style.padding="4px",a.style.cursor="pointer",mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),b.appendChild(a));a=document.createElement("a");mxUtils.write(a,mxResources.get("exit"));a.setAttribute("title",mxResources.get("exit"));a.style.fontSize="12px";a.style.marginLeft="6px";a.style.marginRight=
 "20px";a.style.padding="4px";a.style.cursor="pointer";mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));b.appendChild(a);this.toolbar.container.appendChild(b);this.toolbar.staticElements.push(b);b.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(b){this.importCsv(b)}),
-null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(b,a){try{var c=b.split("\n"),f=[];if(0<c.length){var d={},e=null,g=null,k="",l="auto",m="auto",v=null,n=null,p=40,z=40,A=0,B=this.editor.graph;B.getGraphBounds();for(var D=function(){null!=a?a(aa):(B.setSelectionCells(aa),B.scrollCellToVisible(B.getSelectionCell()))},J=B.getFreeInsertPoint(),C=J.x,L=J.y,J=L,E=null,
-F="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){b=c[N];for(N++;N<c.length&&"\\"==b.charAt(b.length-1)&&"#"==c[N].charAt(0);)b=b.substring(0,b.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=b.charAt(1)){var S=b.indexOf(":");if(0<S){var O=mxUtils.trim(b.substring(1,S)),I=mxUtils.trim(b.substring(S+1));"label"==O?E=B.sanitizeHtml(I):"style"==O?e=I:"identity"==O&&0<I.length&&"-"!=I?g=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?l=I:"height"==O?m=I:"left"==O&&0<I.length?
-v=I:"top"==O&&0<I.length?n=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?A=parseFloat(I):"edgespacing"==O?p=parseFloat(I):"nodespacing"==O?z=parseFloat(I):"layout"==O&&(F=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==E&&(E="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==d[M[T].to]&&(d[M[T].to]={});B.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);
-if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=B.model.getCell(Q));null==K&&(K=new mxCell(E,new mxGeometry(C,J,0,0),e||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)B.setAttributeForCell(K,W[P],V[P]);B.setAttributeForCell(K,"placeholders","1");K.style=B.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)d[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(B.setLinkForCell(K,K.getAttribute(X)),B.setAttributeForCell(K,X,null));B.fireEvent(new mxEventObject("cellsInserted",
-"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=v&&null!=K.getAttribute(v)&&(K.geometry.x=C+parseFloat(K.getAttribute(v))),null!=n&&null!=K.getAttribute(n)&&(K.geometry.y=L+parseFloat(K.getAttribute(n))),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.width=parseFloat(K.getAttribute(l.substring(1))):K.geometry.width="auto"==l?ba.width+A:parseFloat(l),"@"==m.charAt(0)&&null!=K.getAttribute(m.substring(1))?K.geometry.height=parseFloat(K.getAttribute(m.substring(1))):
-K.geometry.height="auto"==m?ba.height+A:parseFloat(m),J+=K.geometry.height+z);f.push(B.addCell(K))}}for(var U=f.slice(),aa=f.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<f.length;R++){var K=f[R],ia=K.getAttribute(Y.from);if(null!=ia){B.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=d[Y.to][ja[P]];null!=ca&&(E=Y.label,null!=Y.fromlabel&&(E=(K.getAttribute(Y.fromlabel)||"")+(E||"")),null!=Y.tolabel&&(E=(E||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(B.insertEdge(null,
-null,E||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||B.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<f.length;R++)for(K=f[R],P=0;P<Z.length;P++)B.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(B);fa.spacing=p;var ka=function(){fa.execute(B.getDefaultParent());for(var b=0;b<f.length;b++){var a=B.getCellGeometry(f[b]);a.x=Math.round(B.snap(a.x));a.y=Math.round(B.snap(a.y));"auto"==l&&(a.width=Math.round(B.snap(a.width)));"auto"==m&&(a.height=
-Math.round(B.snap(a.height)))}};if("circle"==F){var da=new mxCircleLayout(B);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(b){return la.apply(this,arguments)||0>mxUtils.indexOf(f,b)};this.executeLayout(function(){da.execute(B.getDefaultParent());ka()},!0,D);D=null}else if("horizontaltree"==F||"verticaltree"==F||"auto"==F&&aa.length==2*f.length-1&&1==U.length){B.view.validate();var ga=new mxCompactTreeLayout(B,"horizontaltree"==F);ga.levelDistance=z;ga.edgeRouting=!1;ga.resetEdges=
-!1;this.executeLayout(function(){ga.execute(B.getDefaultParent(),0<U.length?U[0]:null)},!0,D);D=null}else if("horizontalflow"==F||"verticalflow"==F||"auto"==F&&1==U.length){B.view.validate();var ha=new mxHierarchicalLayout(B,"horizontalflow"==F?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=z;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(B.getDefaultParent(),aa);B.moveCells(aa,C,L)},!0,D);D=null}else if("organic"==F||"auto"==F&&aa.length>f.length){B.view.validate();
-var ea=new mxFastOrganicLayout(B);ea.forceConstant=3*z;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(b){return na.apply(this,arguments)||0>mxUtils.indexOf(f,b)};fa=new mxParallelEdgeLayout(B);fa.spacing=p;this.executeLayout(function(){ea.execute(B.getDefaultParent());ka()},!0,D);D=null}this.hideDialog()}finally{B.model.endUpdate()}null!=D&&D()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(b){var a="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&
+null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(b,a){try{var c=b.split("\n"),f=[];if(0<c.length){var d={},e=null,g=null,k="",m="auto",l="auto",v=null,n=null,p=40,y=40,J=0,z=this.editor.graph;z.getGraphBounds();for(var C=function(){null!=a?a(aa):(z.setSelectionCells(aa),z.scrollCellToVisible(z.getSelectionCell()))},H=z.getFreeInsertPoint(),A=H.x,L=H.y,H=L,D=null,
+E="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){b=c[N];for(N++;N<c.length&&"\\"==b.charAt(b.length-1)&&"#"==c[N].charAt(0);)b=b.substring(0,b.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=b.charAt(1)){var S=b.indexOf(":");if(0<S){var O=mxUtils.trim(b.substring(1,S)),I=mxUtils.trim(b.substring(S+1));"label"==O?D=z.sanitizeHtml(I):"style"==O?e=I:"identity"==O&&0<I.length&&"-"!=I?g=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?m=I:"height"==O?l=I:"left"==O&&0<I.length?
+v=I:"top"==O&&0<I.length?n=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?J=parseFloat(I):"edgespacing"==O?p=parseFloat(I):"nodespacing"==O?y=parseFloat(I):"layout"==O&&(E=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==D&&(D="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==d[M[T].to]&&(d[M[T].to]={});z.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);
+if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=z.model.getCell(Q));null==K&&(K=new mxCell(D,new mxGeometry(A,H,0,0),e||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)z.setAttributeForCell(K,W[P],V[P]);z.setAttributeForCell(K,"placeholders","1");K.style=z.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)d[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(z.setLinkForCell(K,K.getAttribute(X)),z.setAttributeForCell(K,X,null));z.fireEvent(new mxEventObject("cellsInserted",
+"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=v&&null!=K.getAttribute(v)&&(K.geometry.x=A+parseFloat(K.getAttribute(v))),null!=n&&null!=K.getAttribute(n)&&(K.geometry.y=L+parseFloat(K.getAttribute(n))),"@"==m.charAt(0)&&null!=K.getAttribute(m.substring(1))?K.geometry.width=parseFloat(K.getAttribute(m.substring(1))):K.geometry.width="auto"==m?ba.width+J:parseFloat(m),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):
+K.geometry.height="auto"==l?ba.height+J:parseFloat(l),H+=K.geometry.height+y);f.push(z.addCell(K))}}for(var U=f.slice(),aa=f.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<f.length;R++){var K=f[R],ia=K.getAttribute(Y.from);if(null!=ia){z.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=d[Y.to][ja[P]];null!=ca&&(D=Y.label,null!=Y.fromlabel&&(D=(K.getAttribute(Y.fromlabel)||"")+(D||"")),null!=Y.tolabel&&(D=(D||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(z.insertEdge(null,
+null,D||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||z.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<f.length;R++)for(K=f[R],P=0;P<Z.length;P++)z.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(z);fa.spacing=p;var ka=function(){fa.execute(z.getDefaultParent());for(var b=0;b<f.length;b++){var a=z.getCellGeometry(f[b]);a.x=Math.round(z.snap(a.x));a.y=Math.round(z.snap(a.y));"auto"==m&&(a.width=Math.round(z.snap(a.width)));"auto"==l&&(a.height=
+Math.round(z.snap(a.height)))}};if("circle"==E){var da=new mxCircleLayout(z);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(b){return la.apply(this,arguments)||0>mxUtils.indexOf(f,b)};this.executeLayout(function(){da.execute(z.getDefaultParent());ka()},!0,C);C=null}else if("horizontaltree"==E||"verticaltree"==E||"auto"==E&&aa.length==2*f.length-1&&1==U.length){z.view.validate();var ga=new mxCompactTreeLayout(z,"horizontaltree"==E);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges=
+!1;this.executeLayout(function(){ga.execute(z.getDefaultParent(),0<U.length?U[0]:null)},!0,C);C=null}else if("horizontalflow"==E||"verticalflow"==E||"auto"==E&&1==U.length){z.view.validate();var ha=new mxHierarchicalLayout(z,"horizontalflow"==E?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(z.getDefaultParent(),aa);z.moveCells(aa,A,L)},!0,C);C=null}else if("organic"==E||"auto"==E&&aa.length>f.length){z.view.validate();
+var ea=new mxFastOrganicLayout(z);ea.forceConstant=3*y;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(b){return na.apply(this,arguments)||0>mxUtils.indexOf(f,b)};fa=new mxParallelEdgeLayout(z);fa.spacing=p;this.executeLayout(function(){ea.execute(z.getDefaultParent());ka()},!0,C);C=null}this.hideDialog()}finally{z.model.endUpdate()}null!=C&&C()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(b){var a="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&
 null!=b&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(b,d)&&null!=urlParams[d]&&(a+=c+d+"="+urlParams[d],c="&")}else a=window.location.search;return a};EditorUi.prototype.getUrl=function(b){b=null!=b?b:window.location.pathname;var a=0<b.indexOf("?")?1:0;if("1"==urlParams.offline)b+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&
-(b=0==a?b+"?":b+"&",null!=urlParams[d]&&(b+=d+"="+urlParams[d],a++))}return b};EditorUi.prototype.showLinkDialog=function(b,a,c){b=new LinkDialog(this,b,a,c,!0);this.showDialog(b.container,440,130,!0,!0);b.init()};var l=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(b){var a=l.apply(this,arguments),c=this.editor.graph,d=a.getSourceGraphBounds;a.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var b=
+(b=0==a?b+"?":b+"&",null!=urlParams[d]&&(b+=d+"="+urlParams[d],a++))}return b};EditorUi.prototype.showLinkDialog=function(b,a,c){b=new LinkDialog(this,b,a,c,!0);this.showDialog(b.container,440,130,!0,!0);b.init()};var m=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(b){var a=m.apply(this,arguments),c=this.editor.graph,d=a.getSourceGraphBounds;a.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var b=
 this.source.getPagePadding(),a=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*b.x/a),Math.ceil(this.source.minimumGraphSize.height-2*b.y/a))}return d.apply(this,arguments)};var e=a.getSourceContainerSize;a.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var b=this.source.getPagePadding(),a=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*a-2*
 b.x),Math.ceil(this.source.minimumGraphSize.height*a-2*b.y))}return e.apply(this,arguments)};a.getOutlineOffset=function(b){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(a.outline.container.clientWidth/b-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(a.outline.container.clientHeight/b-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/b))}return new mxPoint(8/b,
 8/b)};var g=a.init;a.init=function(){g.apply(this,arguments);a.outline.view.getBackgroundPageBounds=function(){var b=c.getPageLayout(),a=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+b.x*a.width),this.scale*(this.translate.y+b.y*a.height),this.scale*b.width*a.width,this.scale*b.height*a.height)};a.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(b,c){var d=c.getProperty("change"),f=a.source,e=a.outline;e.pageScale=f.pageScale;e.pageFormat=
@@ -7401,8 +7465,8 @@ function(){};EditorUi.prototype.isDiagramActive=function(){var b=this.getCurrent
 c.isAutosaveOptional());this.actions.get("guides").setEnabled(a);this.actions.get("editData").setEnabled(a);this.actions.get("shadowVisible").setEnabled(a);this.actions.get("connectionArrows").setEnabled(a);this.actions.get("connectionPoints").setEnabled(a);this.actions.get("copyStyle").setEnabled(a&&!b.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(a&&!b.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(b.getModel().isVertex(b.getSelectionCell()));this.actions.get("createShape").setEnabled(a);
 this.actions.get("createRevision").setEnabled(a);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(a&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled(a&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);
 this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());b=b.view.getState(b.getSelectionCell());this.actions.get("editShape").setEnabled(a&&null!=b&&null!=b.shape&&null!=b.shape.stencil)};var p=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=
-null);p.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(b,a,c,d,e,g){var f=b.editor.graph;if("xml"==c)b.hideDialog(),b.saveData(a,"xml",mxUtils.getXml(b.editor.getGraphXml()),"text/xml");else if("svg"==c)b.hideDialog(),b.saveData(a,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=b.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),m=Math.floor(k.width*e/f.view.scale),l=Math.floor(k.height*
-e/f.view.scale);h.length<=MAX_REQUEST_SIZE&&m*l<MAX_AREA?(b.hideDialog(),b.saveRequest(a,c,function(b,a){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(a||"0")+(null!=b?"&filename="+encodeURIComponent(b):"")+"&bg="+(null!=d?d:"none")+"&w="+m+"&h="+l+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
+null);p.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(b,a,c,d,e,g){var f=b.editor.graph;if("xml"==c)b.hideDialog(),b.saveData(a,"xml",mxUtils.getXml(b.editor.getGraphXml()),"text/xml");else if("svg"==c)b.hideDialog(),b.saveData(a,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=b.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),l=Math.floor(k.width*e/f.view.scale),m=Math.floor(k.height*
+e/f.view.scale);h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(b.hideDialog(),b.saveRequest(a,c,function(b,a){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(a||"0")+(null!=b?"&filename="+encodeURIComponent(b):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
 setGridColor:function(a){mxSettings.settings.gridColor=a},getAutosave:function(){return mxSettings.settings.autosave},setAutosave:function(a){mxSettings.settings.autosave=a},getResizeImages:function(){return mxSettings.settings.resizeImages},setResizeImages:function(a){mxSettings.settings.resizeImages=a},getOpenCounter:function(){return mxSettings.settings.openCounter},setOpenCounter:function(a){mxSettings.settings.openCounter=a},getLibraries:function(){return mxSettings.settings.libraries},setLibraries:function(a){mxSettings.settings.libraries=
 a},addCustomLibrary:function(a){mxSettings.load();0>mxUtils.indexOf(mxSettings.settings.customLibraries,a)&&("L.scratchpad"===a?mxSettings.settings.customLibraries.splice(0,0,a):mxSettings.settings.customLibraries.push(a));mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,mxSettings.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return mxSettings.settings.customLibraries},getPlugins:function(){return mxSettings.settings.plugins},setPlugins:function(a){mxSettings.settings.plugins=
 a},getRecentColors:function(){return mxSettings.settings.recentColors},setRecentColors:function(a){mxSettings.settings.recentColors=a},getFormatWidth:function(){return parseInt(mxSettings.settings.formatWidth)},setFormatWidth:function(a){mxSettings.settings.formatWidth=a},getCurrentEdgeStyle:function(){return mxSettings.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){mxSettings.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return mxSettings.settings.currentVertexStyle},
@@ -7412,27 +7476,27 @@ mxSettings.settings.version=mxSettings.currentVersion,localStorage.setItem(mxSet
 mxSettings.settings.recentColors&&(mxSettings.settings.recentColors=[]),null==mxSettings.settings.libraries&&(mxSettings.settings.libraries=Sidebar.prototype.defaultEntries),null==mxSettings.settings.customLibraries&&(mxSettings.settings.customLibraries=Editor.defaultCustomLibraries),null==mxSettings.settings.ui&&(mxSettings.settings.ui=""),null==mxSettings.settings.formatWidth&&(mxSettings.settings.formatWidth=mxSettings.defaultFormatWidth),null!=mxSettings.settings.lastAlert&&delete mxSettings.settings.lastAlert,
 null==mxSettings.settings.currentEdgeStyle?mxSettings.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=mxSettings.settings.version&&(mxSettings.settings.currentEdgeStyle.orthogonalLoop=1,mxSettings.settings.currentEdgeStyle.jettySize="auto"),null==mxSettings.settings.currentVertexStyle&&(mxSettings.settings.currentVertexStyle=Graph.prototype.defaultVertexStyle),null==mxSettings.settings.createTarget&&(mxSettings.settings.createTarget=!1),null==mxSettings.settings.pageFormat&&(mxSettings.settings.pageFormat=
 mxGraph.prototype.pageFormat),null==mxSettings.settings.search&&(mxSettings.settings.search=!0),null==mxSettings.settings.showStartScreen&&(mxSettings.settings.showStartScreen=!0),null==mxSettings.settings.gridColor&&(mxSettings.settings.gridColor=mxGraphView.prototype.gridColor),null==mxSettings.settings.autosave&&(mxSettings.settings.autosave=!0),null!=mxSettings.settings.scratchpadSeen&&delete mxSettings.settings.scratchpadSeen))},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};
-("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(a,e,d){EditorUi.call(this,a,e,null!=d?d:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=":
+("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(a,d,e){EditorUi.call(this,a,d,null!=e?e:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=":
 (new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,d,e){var c=null;try{c=window.open(a)}catch(n){}null==c||void 0===c?this.showDialog((new PopupDialog(this,a,d,e)).container,320,140,!0,!0):null!=d&&d()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!=
 App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(c){null!=window.console&&console.log("Plugin Error:",c,App.DrawPlugins[a])}window.Draw.loadPlugin=mxUtils.bind(this,function(a){a(this)})}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_GITHUB="github";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.MODE_TRELLO="trello";
 App.DROPBOX_APPKEY="libwls2fa9szdji";App.DROPBOX_URL="js/dropbox/Dropbox-sdk.min.js";App.DROPINS_URL="https://www.dropbox.com/static/api/2/dropins.js";App.ONEDRIVE_URL="https://js.live.net/v7.2/OneDrive.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.FOOTER_PLUGIN_URL="https://www.jgraph.com/drawio-footer.js";
 App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",ac148:"/plugins/cConf-1-4-8.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",number:"/plugins/number.js",sql:"/plugins/sql.js",props:"/plugins/props.js",text:"/plugins/text.js",anim:"/plugins/animation.js",update:"/plugins/update.js",trees:"/plugins/trees/trees.js",
 "import":"/plugins/import.js",replay:"/plugins/replay.js",anon:"/plugins/anonymize.js",tr:"/plugins/trello.js",f5:"/plugins/rackF5.js"};
-App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage.getItem(".mode"));if(null==a&&"undefined"!=typeof Storage){for(var e=document.cookie.split(";"),d=0;d<e.length;d++){var c=mxUtils.trim(e[d]);if("MODE="==c.substring(0,5)){a=c.substring(5);break}}null!=a&&isLocalStorage&&(e=new Date,e.setYear(e.getFullYear()-1),document.cookie="MODE=; expires="+e.toUTCString(),localStorage.setItem(".mode",a))}return a};
+App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage.getItem(".mode"));if(null==a&&"undefined"!=typeof Storage){for(var d=document.cookie.split(";"),e=0;e<d.length;e++){var c=mxUtils.trim(d[e]);if("MODE="==c.substring(0,5)){a=c.substring(5);break}}null!=a&&isLocalStorage&&(d=new Date,d.setYear(d.getFullYear()-1),document.cookie="MODE=; expires="+d.toUTCString(),localStorage.setItem(".mode",a))}return a};
 (function(){mxClient.IS_CHROMEAPP||("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("1"!=urlParams.embed&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&
 "#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"!=urlParams.chrome||null!=window.location.hash&&"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"===window.location.hash.substring(0,45)||(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,
 2)?(mxscript(App.DROPBOX_URL),mxscript(App.DROPINS_URL,null,"dropboxjs",App.DROPBOX_APPKEY)):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript(App.ONEDRIVE_URL):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
 null),"function"===typeof window.TrelloClient&&("0"!=urlParams.tr&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_TRELLO||null!=window.location.hash&&"#T"==window.location.hash.substring(0,2)?(mxscript(App.TRELLO_JQUERY_URL),mxscript(App.TRELLO_URL)):"0"==urlParams.chrome&&(window.TrelloClient=null):window.TrelloClient=null)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")))})();
-App.main=function(a,e){function d(b){mxUtils.getAll("1"!=urlParams.dev?[b]:[b,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(b){mxResources.parse(b[0].getText());1<b.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=b[1].getDocumentElement());b=null!=e?e():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&
+App.main=function(a,d){function e(b){mxUtils.getAll("1"!=urlParams.dev?[b]:[b,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(b){mxResources.parse(b[0].getText());1<b.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=b[1].getDocumentElement());b=null!=d?d():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&
 null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&
 null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==
 urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(b);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:",
-"1"==urlParams.test?"active":"inactive"))},function(b){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(b,a,d,e,g){try{if(b!=c&&(null==b||null==a||-1==
+"1"==urlParams.test?"active":"inactive"))},function(b){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";e(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(b,a,d,e,g){try{if(b!=c&&(null==b||null==a||-1==
 b.indexOf("Script error")&&-1==b.indexOf("extension"))&&null!=b&&0>b.indexOf("DocumentClosedError")){c=b;var f=new Image,h=0<=b.indexOf("NetworkError")||0<=b.indexOf("SecurityError")||0<=b.indexOf("NS_ERROR_FAILURE")||0<=b.indexOf("out of memory")?"CONFIG":"SEVERE";f.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(b)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+
-(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(y){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var g=document.createElement("iframe");g.setAttribute("width","0");g.setAttribute("height","0");g.setAttribute("src","offline.html");document.body.appendChild(g)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var g=
-mxSettings.getPlugins(),k=urlParams.p;App.initPluginCallback();if(null!=k){var l="";"1"==urlParams.drawdev&&(l=document.location.protocol+"//drawhost.jgraph.com/");for(var n=k.split(";"),k=0;k<n.length;k++){var p=App.pluginRegistry[n[k]];null!=p?mxscript(l+p):null!=window.console&&console.log("Unknown plugin:",n[k])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=g&&0<g.length&&"0"!=urlParams.plugins){l=window.location.protocol+
-"//"+window.location.host;n=!0;for(k=0;k<g.length&&n;k++)"/"!=g[k].charAt(0)&&g[k].substring(0,l.length)!=l&&(n=!1);if(n||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[g.join("\n")]).replace(/\\n/g,"\n")))for(k=0;k<g.length;k++)try{mxscript(g[k])}catch(b){}}}"function"===typeof window.DriveClient&&
-"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(x){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var g=document.createElement("iframe");g.setAttribute("width","0");g.setAttribute("height","0");g.setAttribute("src","offline.html");document.body.appendChild(g)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var g=
+mxSettings.getPlugins(),k=urlParams.p;App.initPluginCallback();if(null!=k){var m="";"1"==urlParams.drawdev&&(m=document.location.protocol+"//drawhost.jgraph.com/");for(var n=k.split(";"),k=0;k<n.length;k++){var p=App.pluginRegistry[n[k]];null!=p?mxscript(m+p):null!=window.console&&console.log("Unknown plugin:",n[k])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=g&&0<g.length&&"0"!=urlParams.plugins){m=window.location.protocol+
+"//"+window.location.host;n=!0;for(k=0;k<g.length&&n;k++)"/"!=g[k].charAt(0)&&g[k].substring(0,m.length)!=m&&(n=!1);if(n||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[g.join("\n")]).replace(/\\n/g,"\n")))for(k=0;k<g.length;k++)try{mxscript(g[k])}catch(b){}}}"function"===typeof window.DriveClient&&
+"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;e(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
 mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
 App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
 IMAGE_PATH+"/chevron-up.png";
@@ -7443,117 +7507,117 @@ App.prototype.formatShowImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgo
 App.prototype.formatHideImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REI1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5REM1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlEOTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlEQTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqjT9SMAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAAB9JREFUeNpiYEQDDEQJMMABTAAmNdAC6A4j0XMAAQYAcbwA1Xvj1CgAAAAASUVORK5CYII=":IMAGE_PATH+
 "/format-hide.png";App.prototype.fullscreenImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUCNdjgAAbGxAy4AEh5gNwBBGByoIBAIueBd12TUjqAAAAAElFTkSuQmCC":IMAGE_PATH+"/fullscreen.png";App.prototype.timeout=25E3;"1"!=urlParams.embed?App.prototype.menubarHeight=60:App.prototype.footerHeight=0;App.initPluginCallback=function(){null==App.DrawPlugins&&(App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)})};
 App.prototype.init=function(){EditorUi.prototype.init.apply(this,arguments);this.defaultLibraryName=mxResources.get("untitledLibrary");this.descriptorChangedListener=mxUtils.bind(this,this.descriptorChanged);this.gitHub=mxClient.IS_IE&&10!=document.documentMode&&!mxClient.IS_IE11&&!mxClient.IS_EDGE||"0"==urlParams.gh||"1"==urlParams.embed&&"1"!=urlParams.gh?null:new GitHubClient(this);null!=this.gitHub&&this.gitHub.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()}));
-if("1"!=urlParams.embed||"1"==urlParams.od){var a=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=a)});a()}if("1"!=urlParams.embed||"1"==urlParams.tr){var e=mxUtils.bind(this,function(){"undefined"!==
-typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=e)});e()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var d=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var a=mxUtils.bind(this,function(){this.drive=new DriveClient(this);
+if("1"!=urlParams.embed||"1"==urlParams.od){var a=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=a)});a()}if("1"!=urlParams.embed||"1"==urlParams.tr){var d=mxUtils.bind(this,function(){"undefined"!==
+typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var e=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var a=mxUtils.bind(this,function(){this.drive=new DriveClient(this);
 "420247213240"==this.drive.appId&&this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile&&(a=document.getElementById("geFooterItem2"),null!=a&&(a.innerHTML='<a href="https://support.draw.io/display/DO/2014/11/27/Switching+application+in+Google+Drive" target="_blank" title="IMPORTANT NOTICE" >IMPORTANT NOTICE</a>'))}));this.drive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries();
 this.checkLicense()}));this.fireEvent(new mxEventObject("clientLoaded","client",this.drive))});null!=window.DrawGapiClientCallback?(gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(c){null!=gapi.drive&&null!=gapi.drive.realtime&&gapi.client.load("drive","v2",mxUtils.bind(this,function(){this.defineCustomObjects();gapi.auth.init(mxUtils.bind(this,function(){null!=gapi.client.drive&&a()}))}))})),window.DrawGapiClientCallback=null):a()}else null==
-window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&&
+window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=e)});e()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&&
 (window.DrawDropboxClientCallback=c)});c()}"1"!=urlParams.embed?(this.bg=this.createBackground(),document.body.appendChild(this.bg),this.diagramContainer.style.visibility="hidden",this.formatContainer.style.visibility="hidden",this.hsplit.style.display="none",this.sidebarContainer.style.display="none",this.sidebarFooterContainer.style.display="none","1"==urlParams.local?this.setMode(App.MODE_DEVICE):this.mode=App.mode):null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader();
 null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position="absolute",this.buttonContainer.style.right="0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display="none"),this.icon=document.createElement("img"),this.icon.setAttribute("src",
 IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.paddingTop="11px",this.icon.style.marginLeft="4px",this.icon.style.marginRight="6px",mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild))};
 App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname};
-App.prototype.checkLicense=function(){var a=this.drive.getUser(),e=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=e){var d=e.lastIndexOf("@"),c=e;0<=d&&(c=e.substring(d+1),e=this.crc32(e.substring(0,d))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(e)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<=
+App.prototype.checkLicense=function(){var a=this.drive.getUser(),d=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=d){var e=d.lastIndexOf("@"),c=d;0<=e&&(c=d.substring(e+1),d=this.crc32(d.substring(0,e))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(d)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<=
 a.getStatus()&&299>=a.getStatus()){var d=a.getText();if(0<d.length){var e=JSON.parse(d);null!=e&&this.handleLicense(e,c)}}}catch(n){}}))}};
-App.prototype.handleLicense=function(a,e){var d=document.getElementById("geFooter"),c=null;if(null!=d&&null!=a)if(c=a.expiry,null!=a.footer)d.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),k=Math.round((g-Date.now())/864E5);if(90>k){var l="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(e);d.style.height="100%";d.style.margin="0px";d.style.display=
-"";0>k?(this.footerHeight=80,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+l+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[e,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
-l+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[e,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)};
+App.prototype.handleLicense=function(a,d){var e=document.getElementById("geFooter"),c=null;if(null!=e&&null!=a)if(c=a.expiry,null!=a.footer)e.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),k=Math.round((g-Date.now())/864E5);if(90>k){var m="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(d);e.style.height="100%";e.style.margin="0px";e.style.display=
+"";0>k?(this.footerHeight=80,e.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+m+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[d,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,e.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
+m+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[d,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)};
 App.prototype.updateActionStates=function(){EditorUi.prototype.updateActionStates.apply(this,arguments);var a=this.getCurrentFile();this.actions.get("revisionHistory").setEnabled(null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile))};App.prototype.updateDraft=function(){isLocalStorage&&null!=localStorage&&localStorage.setItem(".draft",JSON.stringify({modified:(new Date).getTime(),data:this.getFileData()}))};App.prototype.getDraft=function(){return null};
-App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var e=this.getRecent();if(null==e)e=[];else for(var d=0;d<e.length;d++)e[d].id==a.id&&e.splice(d,1);null!=e&&(e.unshift(a),e=e.slice(0,5),localStorage.setItem(".recent",JSON.stringify(e)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(e){}return null}};
-App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(e){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}};
+App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var d=this.getRecent();if(null==d)d=[];else for(var e=0;e<d.length;e++)d[e].id==a.id&&d.splice(e,1);null!=d&&(d.unshift(a),d=d.slice(0,5),localStorage.setItem(".recent",JSON.stringify(d)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(d){}return null}};
+App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(d){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}};
 App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((a.constructor!=DriveFile||null==a.realtime||a.realtime.saving)&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")};
-App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,e=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=e&&(a=(null!=e.getTitle()?e.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],e,d=0;256>d;d++){e=d;for(var c=0;8>c;c++)e=e&1?3988292384^e>>>1:e>>>1;a[d]=e}return a};
-App.prototype.getThumbnail=function(a,e){var d=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,k=this.pages[0];c.getGlobalVariable=function(b){return"page"==b?k.getName():"pagenumber"==b?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
-function(b){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);e(b)}),a,this.thumbImageCache,"#ffffff",function(){e()},null,null,null,null,null,null,c),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var l=document.createElement("canvas"),n=c.getGraphBounds(),p=a/n.width,p=Math.min(1,Math.min(3*a/(4*n.height),p)),b=Math.floor(n.x),f=Math.floor(n.y);l.setAttribute("width",Math.ceil(p*(n.width+4)));l.setAttribute("height",Math.ceil(p*(n.height+4)));var h=l.getContext("2d");
-h.scale(p,p);h.translate(-b,-f);var t=c.background;if(null==t||""==t||t==mxConstants.NONE)t="#ffffff";h.save();h.fillStyle=t;h.fillRect(b,f,Math.ceil(n.width+4),Math.ceil(n.height+4));h.restore();var q=new mxJsCanvas(l),u=new mxAsyncCanvas(this.thumbImageCache);q.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(b,a){b.shape instanceof mxShape&&b.shape.checkBounds()&&(a.save(),a.translate(.5,.5),b.shape.paint(a),a.translate(-.5,-.5),a.restore())};w.drawText=function(b,
-a){};w.drawState(c.getView().getState(c.model.root),u);u.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),q);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);e(l)}));d=!0}}catch(y){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return d};
+App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,d=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=d&&(a=(null!=d.getTitle()?d.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],d,e=0;256>e;e++){d=e;for(var c=0;8>c;c++)d=d&1?3988292384^d>>>1:d>>>1;a[e]=d}return a};
+App.prototype.getThumbnail=function(a,d){var e=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,k=this.pages[0];c.getGlobalVariable=function(b){return"page"==b?k.getName():"pagenumber"==b?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
+function(b){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(b)}),a,this.thumbImageCache,"#ffffff",function(){d()},null,null,null,null,null,null,c),e=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var m=document.createElement("canvas"),n=c.getGraphBounds(),p=a/n.width,p=Math.min(1,Math.min(3*a/(4*n.height),p)),b=Math.floor(n.x),f=Math.floor(n.y);m.setAttribute("width",Math.ceil(p*(n.width+4)));m.setAttribute("height",Math.ceil(p*(n.height+4)));var h=m.getContext("2d");
+h.scale(p,p);h.translate(-b,-f);var u=c.background;if(null==u||""==u||u==mxConstants.NONE)u="#ffffff";h.save();h.fillStyle=u;h.fillRect(b,f,Math.ceil(n.width+4),Math.ceil(n.height+4));h.restore();var q=new mxJsCanvas(m),t=new mxAsyncCanvas(this.thumbImageCache);q.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(b,a){b.shape instanceof mxShape&&b.shape.checkBounds()&&(a.save(),a.translate(.5,.5),b.shape.paint(a),a.translate(-.5,-.5),a.restore())};w.drawText=function(b,
+a){};w.drawState(c.getView().getState(c.model.root),t);t.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),q);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(m)}));e=!0}}catch(x){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return e};
 App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a};
-(function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(e,d){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(d)if(isLocalStorage)localStorage.setItem(".mode",e);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+e+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),e=null!=c?c.getMode():null,e==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",
-[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):e==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):e==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})();
-App.prototype.appIconClicked=function(a){if(mxEvent.isAltDown(a))this.showSplash(!0);else{var e=this.getCurrentFile(),d=null!=e?e.getMode():null;d==App.MODE_GOOGLE?null!=e.desc&&0<e.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+e.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):d==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):d==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):d==App.MODE_TRELLO?this.openLink("https://trello.com/"):
-d==App.MODE_GITHUB&&(null!=e&&e.constructor==GitHubFile?this.openLink(e.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(a)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="MODE=; expires="+a.toUTCString()}};App.prototype.getDiagramId=function(){var a=window.location.hash;null!=a&&0<a.length&&(a=a.substring(1));return a};
-App.prototype.open=function(){try{if(null!=window.opener){var a=urlParams.create;null!=a&&(a=decodeURIComponent(a));if(null!=a&&0<a.length&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)){var e=mxUtils.parseXml(window.opener[a]);this.editor.setGraphXml(e.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,c,e){this.spinner.stop();null==c&&(c=urlParams.title,e=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport?
--1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,a,c):new LocalFile(this,a,c,e))}))}}catch(d){}};
-App.prototype.loadGapi=function(a){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(e){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,a()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);a()}))}))}))};
+(function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(d,e){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(e)if(isLocalStorage)localStorage.setItem(".mode",d);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+d+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),d=null!=c?c.getMode():null,d==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",
+[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):d==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):d==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})();
+App.prototype.appIconClicked=function(a){if(mxEvent.isAltDown(a))this.showSplash(!0);else{var d=this.getCurrentFile(),e=null!=d?d.getMode():null;e==App.MODE_GOOGLE?null!=d.desc&&0<d.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+d.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):e==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):e==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):e==App.MODE_TRELLO?this.openLink("https://trello.com/"):
+e==App.MODE_GITHUB&&(null!=d&&d.constructor==GitHubFile?this.openLink(d.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(a)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="MODE=; expires="+a.toUTCString()}};App.prototype.getDiagramId=function(){var a=window.location.hash;null!=a&&0<a.length&&(a=a.substring(1));return a};
+App.prototype.open=function(){try{if(null!=window.opener){var a=urlParams.create;null!=a&&(a=decodeURIComponent(a));if(null!=a&&0<a.length&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)){var d=mxUtils.parseXml(window.opener[a]);this.editor.setGraphXml(d.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,c,d){this.spinner.stop();null==c&&(c=urlParams.title,d=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport?
+-1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,a,c):new LocalFile(this,a,c,d))}))}}catch(e){}};
+App.prototype.loadGapi=function(a){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(d){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,a()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);a()}))}))}))};
 App.prototype.load=function(){if("1"!=urlParams.embed){if(this.spinner.spin(document.body,mxResources.get("starting"))){try{this.stateArg=null!=urlParams.state&&null!=this.drive?JSON.parse(decodeURIComponent(urlParams.state)):null}catch(a){}this.editor.graph.setEnabled(null!=this.getCurrentFile());null!=window.location.hash&&0!=window.location.hash.length||null==this.drive||null==this.stateArg||null==this.stateArg.userId||this.drive.setUserId(this.stateArg.userId);null!=urlParams.fileId?(window.location.hash=
 "G"+urlParams.fileId,window.location.search=this.getSearch(["fileId"])):null==this.drive?(this.mode==App.MODE_GOOGLE&&(this.mode=null),this.start()):this.loadGapi(mxUtils.bind(this,function(){this.start()}))}}else this.restoreLibraries(),"1"==urlParams.gapi&&this.loadGapi(function(){})};
-App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var e=document.createElement("div");e.className="geAlert";e.style.zIndex=2E9;e.style.left="50%";e.style.top="-100%";mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(e.style,"transition","all 1s ease");e.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title",
-mxResources.get("close"));a.innerHTML=mxResources.get("close");e.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=e.parentNode&&(e.parentNode.removeChild(e),mxEvent.consume(a))});document.body.appendChild(e);window.setTimeout(function(){e.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(e.style,"transition","all 2s ease");e.style.opacity="0";window.setTimeout(function(){null!=e.parentNode&&e.parentNode.removeChild(e)},2E3)},15E3)}};
+App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var d=document.createElement("div");d.className="geAlert";d.style.zIndex=2E9;d.style.left="50%";d.style.top="-100%";mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(d.style,"transition","all 1s ease");d.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title",
+mxResources.get("close"));a.innerHTML=mxResources.get("close");d.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=d.parentNode&&(d.parentNode.removeChild(d),mxEvent.consume(a))});document.body.appendChild(d);window.setTimeout(function(){d.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(d.style,"transition","all 2s ease");d.style.opacity="0";window.setTimeout(function(){null!=d.parentNode&&d.parentNode.removeChild(d)},2E3)},15E3)}};
 App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{var c=this.getDiagramId(),d=this.getCurrentFile();null!=d&&d.getHash()==c||this.loadFile(c,!0)}catch(n){null!=document.body&&this.handleError(n,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=
 a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var a=mxUtils.bind(this,function(b){"data:image/png;base64,"==b.substring(0,22)&&(b=this.extractGraphModelFromPng(b));var a=urlParams.title,a=null!=a?decodeURIComponent(a):
 this.defaultFilename;b=new LocalFile(this,b,a,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(b.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(b);this.getCurrentFile().setModified(!this.editor.chromeless)}),c=window.opener||window.parent;if(c!=window){var d=urlParams.create;null!=d?a(c[decodeURIComponent(d)]):(d=urlParams.data,null!=d?a(decodeURIComponent(d)):this.installMessageHandler(mxUtils.bind(this,function(b,d){d.source==c&&a(b)})))}}else if(null==
 this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(b){}if(d)this.spinner.spin(document.body,mxResources.get("loading"));else if(d=this.getDiagramId(),"0"!=urlParams.splash||null!=d&&0!=d.length)this.loadFile(this.getDiagramId());else{var e=this.getDraft(),p=null!=e?e.data:this.getFileData(),d=Editor.useLocalStorage;this.createFile(this.defaultFilename,
-p,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=e&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var e=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=e&&0<e.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var d=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create",
+p,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=e&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var d=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=d&&0<d.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var e=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create",
 "title"]))}),c=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var c=urlParams.title,c=null!=c?decodeURIComponent(c):this.defaultFilename;a=this.getServiceCount(!0);var d=4>=a?4:3,c=new CreateDialog(this,c,mxUtils.bind(this,function(a,c){if(null==c){this.hideDialog();var b=Editor.useLocalStorage;this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null,
-null,null,null,null,!0);Editor.useLocalStorage=b}else this.createFile(a,this.getFileData(!0),null,c)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(c.container,380,a>d?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));c.init()}}),e=decodeURIComponent(e);if("http://"!=e.substring(0,7)&&"https://"!=e.substring(0,8))try{null!=window.opener&&null!=window.opener[e]?c(window.opener[e]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g,
-mxResources.get("errorLoadingFile"))}else this.loadTemplate(e,function(a){c(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),d)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?
+null,null,null,null,!0);Editor.useLocalStorage=b}else this.createFile(a,this.getFileData(!0),null,c)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(c.container,380,a>d?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));c.init()}}),d=decodeURIComponent(d);if("http://"!=d.substring(0,7)&&"https://"!=d.substring(0,8))try{null!=window.opener&&null!=window.opener[d]?c(window.opener[d]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g,
+mxResources.get("errorLoadingFile"))}else this.loadTemplate(d,function(a){c(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),e)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?
 (this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):a()}}catch(g){this.handleError(g)}};
-App.prototype.showSplash=function(a){var e=this.getServiceCount(!0,!0),d=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,2>e||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=a)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")},
-mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||a){a=4==e?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();d()}),a);this.showDialog(c.container,3>a?260:300,4<=e?420:300,!0,!1);c.init()}else null==urlParams.create&&d()};
-App.prototype.addLanguageMenu=function(a,e){var d=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){d=document.createElement("div");d.setAttribute("title",mxResources.get("language"));d.className="geIcon geSprite geSprite-globe";d.style.position="absolute";d.style.cursor="pointer";d.style.bottom="20px";d.style.right="20px";if(e){d.style.direction="rtl";d.style.textAlign="right";d.style.right="24px";var c=document.createElement("span");c.style.display="inline-block";
-c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));d.appendChild(c)}mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(this.menus.get("language").funct);c.div.className+=" geMenubarMenu";c.smartSeparators=!0;c.showDisabled=!0;c.autoExpand=!0;c.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(c,arguments);c.destroy()});var e=mxUtils.getOffset(d);
-c.popup(e.x,e.y+d.offsetHeight,null,a);this.setCurrentMenu(c)}));a.appendChild(d)}return d};
+App.prototype.showSplash=function(a){var d=this.getServiceCount(!0,!0),e=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,2>d||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=a)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")},
+mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||a){a=4==d?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();e()}),a);this.showDialog(c.container,3>a?260:300,4<=d?420:300,!0,!1);c.init()}else null==urlParams.create&&e()};
+App.prototype.addLanguageMenu=function(a,d){var e=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){e=document.createElement("div");e.setAttribute("title",mxResources.get("language"));e.className="geIcon geSprite geSprite-globe";e.style.position="absolute";e.style.cursor="pointer";e.style.bottom="20px";e.style.right="20px";if(d){e.style.direction="rtl";e.style.textAlign="right";e.style.right="24px";var c=document.createElement("span");c.style.display="inline-block";
+c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));e.appendChild(c)}mxEvent.addListener(e,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(this.menus.get("language").funct);c.div.className+=" geMenubarMenu";c.smartSeparators=!0;c.showDisabled=!0;c.autoExpand=!0;c.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(c,arguments);c.destroy()});var d=mxUtils.getOffset(e);
+c.popup(d.x,d.y+e.offsetHeight,null,a);this.setCurrentMenu(c)}));a.appendChild(e)}return e};
 App.prototype.defineCustomObjects=function(){null!=gapi.drive.realtime&&null!=gapi.drive.realtime.custom&&(gapi.drive.realtime.custom.registerType(mxRtCell,"Cell"),mxRtCell.prototype.cellId=gapi.drive.realtime.custom.collaborativeField("cellId"),mxRtCell.prototype.type=gapi.drive.realtime.custom.collaborativeField("type"),mxRtCell.prototype.value=gapi.drive.realtime.custom.collaborativeField("value"),mxRtCell.prototype.xmlValue=gapi.drive.realtime.custom.collaborativeField("xmlValue"),mxRtCell.prototype.style=
 gapi.drive.realtime.custom.collaborativeField("style"),mxRtCell.prototype.geometry=gapi.drive.realtime.custom.collaborativeField("geometry"),mxRtCell.prototype.visible=gapi.drive.realtime.custom.collaborativeField("visible"),mxRtCell.prototype.collapsed=gapi.drive.realtime.custom.collaborativeField("collapsed"),mxRtCell.prototype.connectable=gapi.drive.realtime.custom.collaborativeField("connectable"),mxRtCell.prototype.parent=gapi.drive.realtime.custom.collaborativeField("parent"),mxRtCell.prototype.children=
 gapi.drive.realtime.custom.collaborativeField("children"),mxRtCell.prototype.source=gapi.drive.realtime.custom.collaborativeField("source"),mxRtCell.prototype.target=gapi.drive.realtime.custom.collaborativeField("target"))};mxRtCell=function(){};mxCodecRegistry.getCodec(mxCell).exclude.push("rtCell");mxCell.prototype.mxTransient.push("rtCell");
-App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var e=this.getPeerForMode(a);if(null!=e)e.pickFile();else if(a==App.MODE_DEVICE&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var d=document.createElement("input");d.setAttribute("type","file");mxEvent.addListener(d,
-"change",mxUtils.bind(this,function(){null!=d.files&&this.openFiles(d.files)}));d.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER?
+App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var d=this.getPeerForMode(a);if(null!=d)d.pickFile();else if(a==App.MODE_DEVICE&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var e=document.createElement("input");e.setAttribute("type","file");mxEvent.addListener(e,
+"change",mxUtils.bind(this,function(){null!=e.files&&this.openFiles(e.files)}));e.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER?
 new StorageFile(this,c,d):new LocalFile(this,c,d))}));var g=this.dialog,k=g.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;k.apply(g,arguments);null==this.getCurrentFile()&&this.showSplash()})}}};
-App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var e=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=e&&e.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body,
-mxResources.get("loading"))&&e.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile=
-new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=d;window.openFile=null})}else{var c=document.createElement("input");
+App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var d=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=d&&d.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body,
+mxResources.get("loading"))&&d.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var e=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile=
+new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=e;window.openFile=null})}else{var c=document.createElement("input");
 c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){if(null!=c.files)for(var a=0;a<c.files.length;a++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(p){this.handleError(p,mxResources.get("errorLoadingFile"))}});c.readAsText(a)})(c.files[a])}));c.click()}};
-App.prototype.saveLibrary=function(a,e,d,c,g,k,l){c=null!=c?c:this.mode;g=null!=g?g:!1;k=null!=k?k:!1;var n=this.createLibraryDataFromImages(e),p=mxUtils.bind(this,function(b){this.spinner.stop();null!=l&&l();this.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)});null==d&&c==App.MODE_DEVICE&&(d=new LocalLibrary(this,n,a));if(null==d)this.pickFolder(c,mxUtils.bind(this,function(b){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a,
-n,b,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,e)}),p,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,e)}),p,b):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,n,mxUtils.bind(this,
-function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,e)}),p,b):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,e)}),p,b):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();
-this.hideDialog(!0);this.libraryLoaded(b,e)}),p,b):c==App.MODE_BROWSER?(b=mxUtils.bind(this,function(){var b=new StorageLibrary(this,n,a);b.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(b,e)}),p)}),null==localStorage.getItem(a)?b():this.confirm(mxResources.get("replaceIt",[a]),b)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){d.setData(n);var b=mxUtils.bind(this,
-function(){d.save(!0,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);k||this.libraryLoaded(d,e);null!=l&&l()}),p)});if(a!=d.getTitle()){var f=d.getHash();d.rename(a,mxUtils.bind(this,function(a){d.constructor!=LocalLibrary&&f!=d.getHash()&&(mxSettings.removeCustomLibrary(f),mxSettings.addCustomLibrary(d.getHash()));this.removeLibrarySidebar(f);b()}),p)}else b()}};
-App.prototype.saveFile=function(a){var e=this.getCurrentFile();if(null!=e){var d=mxUtils.bind(this,function(){this.removeDraft();e.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==e.getTitle()||null==this.mode){var c=null!=e.getTitle()?e.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,k=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var l=4>=a?2:6<a?4:3,c=new CreateDialog(this,
-c,mxUtils.bind(this,function(a,c){null!=a&&0<a.length&&(null==k&&c==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,d)):"download"==c?(new LocalFile(this,null,a)).save():"_blank"==c?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):k!=c?this.pickFolder(c,mxUtils.bind(this,function(b){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a),
-/(\.html)$/i.test(a)),null,c,d,null==this.mode,b)}),c!==App.MODE_GITHUB):null!=c&&this.save(a,d))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,l);this.showDialog(c.container,460,a>l?390:270,!0,!0);c.init()}else this.save(e.getTitle(),d)}};
-EditorUi.prototype.loadTemplate=function(a,e,d){var c=a;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(a){e(a)},d,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&
-200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&e(a.responseText)}),a):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){e(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),e(c))}),d,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))};
+App.prototype.saveLibrary=function(a,d,e,c,g,k,m){c=null!=c?c:this.mode;g=null!=g?g:!1;k=null!=k?k:!1;var n=this.createLibraryDataFromImages(d),p=mxUtils.bind(this,function(b){this.spinner.stop();null!=m&&m();this.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)});null==e&&c==App.MODE_DEVICE&&(e=new LocalLibrary(this,n,a));if(null==e)this.pickFolder(c,mxUtils.bind(this,function(b){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a,
+n,b,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,n,mxUtils.bind(this,
+function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();
+this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_BROWSER?(b=mxUtils.bind(this,function(){var b=new StorageLibrary(this,n,a);b.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(b,d)}),p)}),null==localStorage.getItem(a)?b():this.confirm(mxResources.get("replaceIt",[a]),b)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){e.setData(n);var b=mxUtils.bind(this,
+function(){e.save(!0,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);k||this.libraryLoaded(e,d);null!=m&&m()}),p)});if(a!=e.getTitle()){var f=e.getHash();e.rename(a,mxUtils.bind(this,function(a){e.constructor!=LocalLibrary&&f!=e.getHash()&&(mxSettings.removeCustomLibrary(f),mxSettings.addCustomLibrary(e.getHash()));this.removeLibrarySidebar(f);b()}),p)}else b()}};
+App.prototype.saveFile=function(a){var d=this.getCurrentFile();if(null!=d){var e=mxUtils.bind(this,function(){this.removeDraft();d.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==d.getTitle()||null==this.mode){var c=null!=d.getTitle()?d.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,k=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var m=4>=a?2:6<a?4:3,c=new CreateDialog(this,
+c,mxUtils.bind(this,function(a,c){null!=a&&0<a.length&&(null==k&&c==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,e)):"download"==c?(new LocalFile(this,null,a)).save():"_blank"==c?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):k!=c?this.pickFolder(c,mxUtils.bind(this,function(b){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a),
+/(\.html)$/i.test(a)),null,c,e,null==this.mode,b)}),c!==App.MODE_GITHUB):null!=c&&this.save(a,e))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,m);this.showDialog(c.container,460,a>m?390:270,!0,!0);c.init()}else this.save(d.getTitle(),e)}};
+EditorUi.prototype.loadTemplate=function(a,d,e){var c=a;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(a){d(a)},e,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&
+200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&d(a.responseText)}),a):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){d(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),d(c))}),e,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))};
 App.prototype.getPeerForMode=function(a){return a==App.MODE_GOOGLE?this.drive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_DROPBOX?this.dropbox:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_TRELLO?this.trello:null};
-App.prototype.createFile=function(a,e,d,c,g,k,l,n){c=n?null:null!=c?c:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){e=null!=e?e:this.emptyDiagramXml;var p=mxUtils.bind(this,function(){this.spinner.stop()}),b=mxUtils.bind(this,function(b){p();null==b&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=b&&this.handleError(b)});c==App.MODE_GOOGLE&&null!=this.drive?(l=null!=this.stateArg?this.stateArg.folderId:l,this.drive.insertFile(a,e,l,mxUtils.bind(this,
-function(b){p();this.fileCreated(b,d,k,g)}),b)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(a,e,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,k,g)}),b,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,e,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,k,g)}),b,!1,l):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,e,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,k,g)}),b):
-c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,e,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,k,g)}),b,!1,l):c==App.MODE_BROWSER?(p(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,e,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(c,d,k,g)}),b)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(p(),this.fileCreated(new LocalFile(this,
-e,a,null==c),d,k,g))}};
-App.prototype.fileCreated=function(a,e,d,c){var g=window.location.pathname;null!=e&&0<e.length&&(g+="?libs="+e);g=this.getUrl(g);a.getMode()!=App.MODE_DEVICE&&(g+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var k=a.getData(),k=0<k.length?this.editor.extractGraphModel(mxUtils.parseXml(k).documentElement,!0):null,l=window.location.protocol+"//"+window.location.hostname+g,n=k,p=null;null!=k&&/\.svg$/i.test(a.getTitle())&&(p=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(p.container),
-n=this.decodeNodeIntoGraph(n,p));a.setData(this.createFileData(k,p,a,l));null!=p&&p.container.parentNode.removeChild(p.container);var b=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(){b();var f=this.getCurrentFile();null==d&&null!=f&&(d=!f.isModified()&&null==f.getMode());var k=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);d&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=e&&this.sidebar.showEntries(e)}),
-l=mxUtils.bind(this,function(){d||null==f||!f.isModified()?k():this.confirm(mxResources.get("allChangesLost"),null,k,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==d||d?l():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=c&&c(),window.openWindow(g,null,l))});a.constructor==LocalFile||a.constructor==DriveFile?f():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,
+App.prototype.createFile=function(a,d,e,c,g,k,m,n){c=n?null:null!=c?c:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){d=null!=d?d:this.emptyDiagramXml;var p=mxUtils.bind(this,function(){this.spinner.stop()}),b=mxUtils.bind(this,function(b){p();null==b&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=b&&this.handleError(b)});c==App.MODE_GOOGLE&&null!=this.drive?(m=null!=this.stateArg?this.stateArg.folderId:m,this.drive.insertFile(a,d,m,mxUtils.bind(this,
+function(b){p();this.fileCreated(b,e,k,g)}),b)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,e,k,g)}),b,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,e,k,g)}),b,!1,m):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,e,k,g)}),b):
+c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,e,k,g)}),b,!1,m):c==App.MODE_BROWSER?(p(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,d,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(c,e,k,g)}),b)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(p(),this.fileCreated(new LocalFile(this,
+d,a,null==c),e,k,g))}};
+App.prototype.fileCreated=function(a,d,e,c){var g=window.location.pathname;null!=d&&0<d.length&&(g+="?libs="+d);g=this.getUrl(g);a.getMode()!=App.MODE_DEVICE&&(g+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var k=a.getData(),k=0<k.length?this.editor.extractGraphModel(mxUtils.parseXml(k).documentElement,!0):null,m=window.location.protocol+"//"+window.location.hostname+g,n=k,p=null;null!=k&&/\.svg$/i.test(a.getTitle())&&(p=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(p.container),
+n=this.decodeNodeIntoGraph(n,p));a.setData(this.createFileData(k,p,a,m));null!=p&&p.container.parentNode.removeChild(p.container);var b=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(){b();var f=this.getCurrentFile();null==e&&null!=f&&(e=!f.isModified()&&null==f.getMode());var k=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);e&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=d&&this.sidebar.showEntries(d)}),
+m=mxUtils.bind(this,function(){e||null==f||!f.isModified()?k():this.confirm(mxResources.get("allChangesLost"),null,k,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==e||e?m():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=c&&c(),window.openWindow(g,null,m))});a.constructor==LocalFile||a.constructor==DriveFile?f():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,
 function(){f()}),mxUtils.bind(this,function(a){b();this.handleError(a)}))}};
-App.prototype.loadFile=function(a,e,d,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var g=localStorage.getItem(a);if(null!=g)this.fileLoaded(new StorageFile(this,g,a)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(b){this.handleError(b,
-mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}));else if(null!=d)this.spinner.stop(),this.fileLoaded(d),null!=c&&c();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))),
+App.prototype.loadFile=function(a,d,e,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var g=localStorage.getItem(a);if(null!=g)this.fileLoaded(new StorageFile(this,g,a)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(b){this.handleError(b,
+mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}));else if(null!=e)this.spinner.stop(),this.fileLoaded(e),null!=c&&c();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))),
 c,mxUtils.bind(this,function(b){this.handleError(b,mxResources.get("errorLoadingFile"))}))}catch(b){this.handleError(b,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),g=decodeURIComponent(a.substring(1)),"<"!=g.charAt(0)&&(g=this.editor.graph.decompress(g)),g=new LocalFile(this,g,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),g.getHash=function(){return a},this.fileLoaded(g),null!=c&&c();else if("U"==a.charAt(0)){var k=decodeURIComponent(a.substring(1));
-this.loadTemplate(k,mxUtils.bind(this,function(b){this.spinner.stop();if(null!=b&&0<b.length){var d=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=k,l=k.lastIndexOf("."),n=g.lastIndexOf("/");l>n&&0<n&&(g=g.substring(n+1,l),l=k.substring(l),this.useCanvasForExport||".png"!=l||(l=".xml"),".svg"===l||".xml"===l||".html"===l||".png"===l)&&(d=g+l)}b=new LocalFile(this,b,null!=urlParams.title?decodeURIComponent(urlParams.title):d,!0);b.getHash=function(){return a};this.fileLoaded(b)||
-"https://drive.google.com/uc?id="!=k.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),b=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+k.substring(31,k.lastIndexOf("&")),e,c),!0):!1}),!b()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",b))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g=
+this.loadTemplate(k,mxUtils.bind(this,function(b){this.spinner.stop();if(null!=b&&0<b.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=k,m=k.lastIndexOf("."),n=g.lastIndexOf("/");m>n&&0<n&&(g=g.substring(n+1,m),m=k.substring(m),this.useCanvasForExport||".png"!=m||(m=".xml"),".svg"===m||".xml"===m||".html"===m||".png"===m)&&(e=g+m)}b=new LocalFile(this,b,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);b.getHash=function(){return a};this.fileLoaded(b)||
+"https://drive.google.com/uc?id="!=k.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),b=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+k.substring(31,k.lastIndexOf("&")),d,c),!0):!1}),!b()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",b))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g=
 null,"G"==a.charAt(0)?g=this.drive:"D"==a.charAt(0)?g=this.dropbox:"W"==a.charAt(0)?g=this.oneDrive:"H"==a.charAt(0)?g=this.gitHub:"T"==a.charAt(0)&&(g=this.trello),null==g?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""})):(a=decodeURIComponent(a.substring(1)),g.getFile(a,mxUtils.bind(this,function(b){this.spinner.stop();this.fileLoaded(b);
-null!=c&&c()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var b=this.getCurrentFile();null==b?(window.location.hash="",this.showSplash()):window.location.hash=b.getHash()}))})))}),k=this.getCurrentFile(),l=mxUtils.bind(this,function(){null!=k&&k.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=k&&(window.location.hash=
-k.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==a||0==a.length?l():null!=k&&k.isModified()&&!e?window.openWindow(this.getUrl()+"#"+a,null,l):l()};
-App.prototype.getLibraryStorageHint=function(a){var e=a.getTitle();a.constructor!=LocalLibrary&&(e+="\n"+a.getHash());a.constructor==DriveLibrary?e+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?e+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?e+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?e+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?e+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?e+=" ("+
-mxResources.get("browser")+")":a.constructor==LocalLibrary&&(e+=" ("+mxResources.get("device")+")");return e};
-App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),e=mxUtils.bind(this,function(d,c){var e=0,k=[],l=mxUtils.bind(this,function(){if(0==e){if(null!=d)for(var b=d.length-1;0<=b;b--)null!=k[b]&&this.loadLibrary(k[b]);null!=c&&c()}});if(null!=d)for(var n=0;n<d.length;n++){var p=encodeURIComponent(decodeURIComponent(d[n]));mxUtils.bind(this,
-function(b,c){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){e++;var d=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];k[c]=a;e--;l()}),f=mxUtils.bind(this,function(){a(b);e--;l()});this.pendingLibraries[b]=!0;var g=b.substring(0,1);if("L"==g)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null==
-b&&(b=this.emptyLibraryXml);null!=b?d(new StorageLibrary(this,b,a)):f()}))}catch(x){f()}}),0);else if("U"==g){var n=decodeURIComponent(b.substring(1));if(!this.isOffline()){g=n;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus())try{d(new UrlLibrary(this,b.getText(),n))}catch(x){f()}else f()}),function(){f()})}catch(y){f()}}}else{var p=null;"G"==g?null!=
-this.drive&&null!=this.drive.user&&(p=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(p=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(p=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(p=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(p=this.oneDrive);null!=p?p.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(b){try{d(b)}catch(x){f()}}),function(b){f()}):(delete this.pendingLibraries[b],
-f())}}})(p,n)}l()});e(mxSettings.getCustomLibraries(),function(){e((urlParams.clibs||"").split(";"))})}};
+null!=c&&c()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var b=this.getCurrentFile();null==b?(window.location.hash="",this.showSplash()):window.location.hash=b.getHash()}))})))}),k=this.getCurrentFile(),m=mxUtils.bind(this,function(){null!=k&&k.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=k&&(window.location.hash=
+k.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==a||0==a.length?m():null!=k&&k.isModified()&&!d?window.openWindow(this.getUrl()+"#"+a,null,m):m()};
+App.prototype.getLibraryStorageHint=function(a){var d=a.getTitle();a.constructor!=LocalLibrary&&(d+="\n"+a.getHash());a.constructor==DriveLibrary?d+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?d+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?d+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?d+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?d+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?d+=" ("+
+mxResources.get("browser")+")":a.constructor==LocalLibrary&&(d+=" ("+mxResources.get("device")+")");return d};
+App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),d=mxUtils.bind(this,function(d,c){var e=0,k=[],m=mxUtils.bind(this,function(){if(0==e){if(null!=d)for(var b=d.length-1;0<=b;b--)null!=k[b]&&this.loadLibrary(k[b]);null!=c&&c()}});if(null!=d)for(var n=0;n<d.length;n++){var p=encodeURIComponent(decodeURIComponent(d[n]));mxUtils.bind(this,
+function(b,c){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){e++;var d=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];k[c]=a;e--;m()}),f=mxUtils.bind(this,function(){a(b);e--;m()});this.pendingLibraries[b]=!0;var g=b.substring(0,1);if("L"==g)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null==
+b&&(b=this.emptyLibraryXml);null!=b?d(new StorageLibrary(this,b,a)):f()}))}catch(B){f()}}),0);else if("U"==g){var n=decodeURIComponent(b.substring(1));if(!this.isOffline()){g=n;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus())try{d(new UrlLibrary(this,b.getText(),n))}catch(B){f()}else f()}),function(){f()})}catch(x){f()}}}else{var p=null;"G"==g?null!=
+this.drive&&null!=this.drive.user&&(p=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(p=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(p=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(p=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(p=this.oneDrive);null!=p?p.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(b){try{d(b)}catch(B){f()}}),function(b){f()}):(delete this.pendingLibraries[b],
+f())}}})(p,n)}m()});d(mxSettings.getCustomLibraries(),function(){d((urlParams.clibs||"").split(";"))})}};
 App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth=
 "0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),
 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.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)?
-d():this.confirm(mxResources.get("replaceIt",[e]),d))};
-App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var e=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,e);this.fname.setAttribute("title",e+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash=
-""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var e=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),e,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}};
-App.prototype.showAuthDialog=function(a,e,d,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,a,e,mxUtils.bind(this,function(a){try{null!=d&&d(a,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(l){this.editor.setStatus(mxUtils.htmlEntities(l.message))}}))).container,300,e?180:140,!0,!0,mxUtils.bind(this,function(a){null!=c&&c();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
-App.prototype.convertFile=function(a,e,d,c,g,k){var l=e;/\.svg$/i.test(l)||(l=l.substring(0,e.lastIndexOf("."))+c);var n=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(n=!0);if(/\.vsdx?$/i.test(e)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var p=new XMLHttpRequest;p.open("GET",a,!0);n||(p.responseType="blob");p.onload=mxUtils.bind(this,function(){var b=null;n?(b=JSON.parse(p.responseText),b=this.base64ToBlob(b.content,
-"application/octet-stream")):b=new Blob([p.response],{type:"application/octet-stream"});this.importVisio(b,mxUtils.bind(this,function(b){g(new LocalFile(this,b,l,!0))}),k,e)});p.send()}else{var b=mxUtils.bind(this,function(b){try{/\.png$/i.test(e)?(temp=this.extractGraphModelFromPng(b),null!=temp?g(new LocalFile(this,temp,l,!0)):g(new LocalFile(this,b,e,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}),
-mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?g(new LocalFile(this,b.responseText,l,!0)):null!=k&&k({message:mxResources.get("errorLoadingFile")}))}),e):g(new LocalFile(this,b,l,!0))}catch(h){null!=k&&k(h)}});d=/\.png$/i.test(e)||/\.jpe?g$/i.test(e)||null!=d&&"image/"==d.substring(0,6);n?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(e)?
-"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));b(c)}}else null!=k&&k({code:App.ERROR_UNKNOWN})}),function(){null!=k&&k({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=k&&k({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,b,k,d)}};
+App.prototype.save=function(a,d){var e=this.getCurrentFile(),c=mxResources.get("saving");null!=e&&e.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=e&&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()==e&&(e.isModified()?e.isAutosave()||e.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!=
+d&&d()}),g=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==e.getTitle()?e.save(!0,c,g):e.saveAs(a,c,g)}};
+App.prototype.pickFolder=function(a,d,e){e=null!=e?e:!0;var c=this.spinner.pause();e&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var e=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(e=a.docs[0].id);d(e)}})):e&&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,d(a))})):e&&a==App.MODE_GITHUB&&
+null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();d(a)})):e&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();d(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
+App.prototype.exportFile=function(a,d,e,c,g,k){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(d,c?this.base64ToBlob(a,e):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(d,a,k,mxUtils.bind(this,function(a){this.spinner.stop()}),
+mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),e,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(d,c?this.base64ToBlob(a,e):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(d,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(d,c?this.base64ToBlob(a,e):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&&(e=mxUtils.bind(this,function(){localStorage.setItem(d,a)}),null==localStorage.getItem(d)?
+e():this.confirm(mxResources.get("replaceIt",[d]),e))};
+App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var d=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,d);this.fname.setAttribute("title",d+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash=
+""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var d=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),d,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}};
+App.prototype.showAuthDialog=function(a,d,e,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,a,d,mxUtils.bind(this,function(a){try{null!=e&&e(a,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(m){this.editor.setStatus(mxUtils.htmlEntities(m.message))}}))).container,300,d?180:140,!0,!0,mxUtils.bind(this,function(a){null!=c&&c();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
+App.prototype.convertFile=function(a,d,e,c,g,k){var m=d;/\.svg$/i.test(m)||(m=m.substring(0,d.lastIndexOf("."))+c);var n=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(n=!0);if(/\.vsdx?$/i.test(d)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var p=new XMLHttpRequest;p.open("GET",a,!0);n||(p.responseType="blob");p.onload=mxUtils.bind(this,function(){var b=null;n?(b=JSON.parse(p.responseText),b=this.base64ToBlob(b.content,
+"application/octet-stream")):b=new Blob([p.response],{type:"application/octet-stream"});this.importVisio(b,mxUtils.bind(this,function(b){g(new LocalFile(this,b,m,!0))}),k,d)});p.send()}else{var b=mxUtils.bind(this,function(b){try{/\.png$/i.test(d)?(temp=this.extractGraphModelFromPng(b),null!=temp?g(new LocalFile(this,temp,m,!0)):g(new LocalFile(this,b,d,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}),
+mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?g(new LocalFile(this,b.responseText,m,!0)):null!=k&&k({message:mxResources.get("errorLoadingFile")}))}),d):g(new LocalFile(this,b,m,!0))}catch(h){null!=k&&k(h)}});e=/\.png$/i.test(d)||/\.jpe?g$/i.test(d)||null!=e&&"image/"==e.substring(0,6);n?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(d)?
+"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));b(c)}}else null!=k&&k({code:App.ERROR_UNKNOWN})}),function(){null!=k&&k({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=k&&k({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,b,k,e)}};
 App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=mxClient.IS_SVG?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)":
 "url('"+IMAGE_PATH+"/logo-white.png')";this.appIcon.style.backgroundImage=a;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&(a=a.getMode(),a==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":a==App.MODE_DROPBOX?
 this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":a==App.MODE_ONEDRIVE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/onedrive-logo-white.svg)":a==App.MODE_GITHUB?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/github-logo-white.svg)":a==App.MODE_TRELLO&&(this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/trello-logo-white-orange.svg)"))}));mxEvent.addListener(this.appIcon,"mouseout",mxUtils.bind(this,function(){this.appIcon.style.backgroundImage=a}));
@@ -7561,10 +7625,10 @@ this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":
 "javascript:void(0);");this.fname.setAttribute("title",mxResources.get("rename"));this.fname.className="geItem";this.fname.style.padding="2px 8px 2px 8px";this.fname.style.display="inline";this.fname.style.fontSize="18px";this.fname.style.whiteSpace="nowrap";mxEvent.addListener(this.fname,"click",mxUtils.bind(this,function(a){var c=this.getCurrentFile();null!=c&&c.isRenamable()&&this.actions.get("rename").funct();mxEvent.consume(a)}));this.fnameWrapper.appendChild(this.fname);"1"!=urlParams.embed&&
 (this.menubarContainer.appendChild(this.fnameWrapper),this.menubar.container.style.position="absolute",this.menubar.container.style.paddingLeft="52px",this.menubar.container.style.boxSizing="border-box",this.menubar.container.style.top="29px",this.toolbar.container.style.paddingLeft="56px");this.toggleFormatElement=document.createElement("a");this.toggleFormatElement.setAttribute("href","javascript:void(0);");this.toggleFormatElement.setAttribute("title",mxResources.get("formatPanel")+" ("+Editor.ctrlKey+
 "+Shift+P)");this.toggleFormatElement.style.position="absolute";this.toggleFormatElement.style.display="inline-block";this.toggleFormatElement.style.top="5px";this.toggleFormatElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"26px":"10px";this.toggleFormatElement.style.padding="2px";this.toggleFormatElement.style.fontSize="14px";this.toggleFormatElement.className="atlas"!=uiTheme?"geButton":"";this.toggleFormatElement.style.width="16px";this.toggleFormatElement.style.height="16px";this.toggleFormatElement.style.backgroundPosition=
-"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(a){this.actions.get("formatPanel").funct();mxEvent.consume(a)}));var e=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+
-"')"});this.addListener("formatWidthChanged",e);e();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding=
-"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var d=this.hsplitPosition,c=!1;"dark"==uiTheme&&
-(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(a){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?d:0;this.hideFooter();c=!c;mxEvent.consume(a)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top=
+"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(a){this.actions.get("formatPanel").funct();mxEvent.consume(a)}));var d=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+
+"')"});this.addListener("formatWidthChanged",d);d();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding=
+"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var e=this.hsplitPosition,c=!1;"dark"==uiTheme&&
+(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(a){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?e:0;this.hideFooter();c=!c;mxEvent.consume(a)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top=
 "8px",this.fullscreenElement.style.top="8px");"1"!=urlParams.embed&&(this.toggleElement=document.createElement("a"),this.toggleElement.setAttribute("href","javascript:void(0);"),this.toggleElement.setAttribute("title",mxResources.get("collapseExpand")),this.toggleElement.className="geButton",this.toggleElement.style.position="absolute",this.toggleElement.style.display="inline-block",this.toggleElement.style.width="16px",this.toggleElement.style.height="16px",this.toggleElement.style.color="#666",
 this.toggleElement.style.top="5px",this.toggleElement.style.right="10px",this.toggleElement.style.padding="2px",this.toggleElement.style.fontSize="14px",this.toggleElement.style.textDecoration="none",this.toggleElement.style.backgroundImage="url('"+this.chevronUpImage+"')",this.toggleElement.style.backgroundPosition="50% 50%",this.toggleElement.style.backgroundRepeat="no-repeat","dark"==uiTheme&&(this.toggleElement.style.filter="invert(100%)"),mxEvent.addListener(this.toggleElement,"click",mxUtils.bind(this,
 function(a){this.toggleCompactMode();mxEvent.consume(a)})),"atlas"!=uiTheme&&this.toolbarContainer.appendChild(this.toggleElement),740>=screen.height&&"undefined"!==typeof this.toggleElement.click&&window.setTimeout(mxUtils.bind(this,function(){this.toggleElement.click()}),0))}};
@@ -7586,178 +7650,179 @@ a.isModified()?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources
 null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c()}else this.trello.logout()}),mxResources.get("trello"));c||(d=document.createElement("div"),d.style.textAlign="center",d.style.padding="20px 20px 10px 10px",d.innerHTML=mxResources.get("notConnected"),this.userPanel.appendChild(d));document.body.appendChild(this.userPanel)}mxEvent.consume(a)})),mxEvent.addListener(document.body,"click",mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||null==this.userPanel||null==this.userPanel.parentNode||
 this.userPanel.parentNode.removeChild(this.userPanel)})));var a=null;null!=this.drive&&null!=this.drive.getUser()?a=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?a=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?a=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(a=this.gitHub.getUser());null!=a?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,a.displayName),this.userElement.style.display="block")):
 this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};var editorResetGraph=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);this.graph.pageFormat=mxSettings.getPageFormat()};(function(){var a=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){a.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(a){var c=document.createElement("span");c.setAttribute("title",mxResources.get("help"));c.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;";
-var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);c.appendChild(d);mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(c)}));return c};Menus.prototype.addLinkToItem=function(a,d){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(d))};var e=Menus.prototype.init;Menus.prototype.init=function(){e.apply(this,
-arguments);var a=this.editorUi,d=a.editor.graph,k=mxUtils.bind(d,d.isEnabled),l=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),n=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),p=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
+var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);c.appendChild(d);mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(c)}));return c};Menus.prototype.addLinkToItem=function(a,d){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(d))};var d=Menus.prototype.init;Menus.prototype.init=function(){d.apply(this,
+arguments);var a=this.editorUi,e=a.editor.graph,k=mxUtils.bind(e,e.isEnabled),m=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),n=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),p=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
 "drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),b=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||a.isOffline()||((new Image).src=IMAGE_PATH+
-"/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&
-a.exportSvg(b/100,c,d,e,f,g,h,!k,l)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),g=a.addCheckbox(b,
+"/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&&
+a.exportSvg(b/100,c,d,e,f,g,h,!k,m)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=null==a.pages||1>=a.pages.length,d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatXml"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(d);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,e.isSelectionEmpty()),g=a.addCheckbox(b,
 mxResources.get(c?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",c?!g.checked:null,null,!f.checked,c?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"),
-!0,null,null,function(b,c,d,e,f,g){b=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,c,d,e,f,m,g,h,k,l){a.createHtml(b,c,d,e,f,m,g,h,k,l,mxUtils.bind(this,function(b,c){var d=
+!0,null,null,function(b,c,d,e,f,g){b=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,c,d,e,f,l,g,h,k,m){a.createHtml(b,c,d,e,f,l,g,h,k,m,mxUtils.bind(this,function(b,c){var d=
 a.getBaseFilename(g),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+b+"\n"+c+"\n</body>\n</html>";a.saveData(d+".html","html",e,"text/html")}))})})}));a.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(a.isOffline()||a.printPdfExport)a.showDialog((new PrintDialog(a,mxResources.get("formatPdf"))).container,
-360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxResources.get("formatPdf"));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(c);var e=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),f=a.addCheckbox(b,mxResources.get("crop"),!d.pageVisible||!a.pdfPageExport,!a.pdfPageExport);f.style.marginBottom="16px";a.pdfPageExport||
-mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"),
-null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});a.actions.addAction("editShape...",mxUtils.bind(this,function(){d.getSelectionCells();if(1==d.getSelectionCount()){var b=d.getSelectionCell(),c=d.view.getState(b);null!=c&&null!=c.shape&&null!=c.shape.stencil&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",function(){var b=a.getCurrentFile();if(null==b||b.constructor!=
+360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxResources.get("formatPdf"));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(c);var d=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,e.isSelectionEmpty()),f=a.addCheckbox(b,mxResources.get("crop"),!e.pageVisible||!a.pdfPageExport,!a.pdfPageExport);f.style.marginBottom="16px";a.pdfPageExport||
+mxEvent.addListener(d,"change",function(){d.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!d.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"),
+null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});a.actions.addAction("editShape...",mxUtils.bind(this,function(){e.getSelectionCells();if(1==e.getSelectionCount()){var b=e.getSelectionCell(),c=e.view.getState(b);null!=c&&null!=c.shape&&null!=c.shape.stencil&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",function(){var b=a.getCurrentFile();if(null==b||b.constructor!=
 DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||null==a.dropbox&&b.constructor==DropboxFile)a.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"));else if(a.spinner.spin(document.body,mxResources.get("loading")))if(b.constructor==DropboxFile){var c=a.dropbox.client.filesListRevisions({path:b.stat.path_lower,limit:100});c.then(mxUtils.bind(this,function(c){a.spinner.stop();try{for(var d=[],e=c.entries.length-1;0<=e;e--)(function(c){d.push({modifiedDate:c.client_modified,
-fileSize:c.size,getXml:function(d,e){a.dropbox.readFile({path:b.stat.path_lower,rev:c.rev},d,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+c.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(c.entries[e]);var f=new RevisionDialog(a,d);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(B){a.handleError(B)}}));c["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop();
+fileSize:c.size,getXml:function(d,e){a.dropbox.readFile({path:b.stat.path_lower,rev:c.rev},d,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+c.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(c.entries[e]);var f=new RevisionDialog(a,d);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(z){a.handleError(z)}}));c["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop();
 for(var d=0;d<c.items.length;d++)(function(d){d.getXml=function(e,f){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:c.items[c.items.length-1]===d?b.desc.headRevisionId:d.id}),function(b){a.drive.getXmlFile(b,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};d.getUrl=function(){return a.getUrl(window.location.pathname+"?rev="+d.id+"&chrome=0&edit=_blank")+window.location.hash}})(c.items[d]);d=new RevisionDialog(a,c.items);a.showDialog(d.container,
 640,480,!0,!0);d.init()},function(b){a.spinner.stop();a.handleError(b)})});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,a.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(a.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(b)))});
-if("undefined"!==typeof MathJax){var f=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();d.model.execute(b)});f.setToggleAction(!0);f.setSelectedCallback(function(){return a.isMathEnabled()});f.isEnabled=k}isLocalStorage&&(f=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),f.setToggleAction(!0),f.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
-var h=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});h.setToggleAction(!0);h.setSelectedCallback(function(){return h.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=d.getSelectionCells(),c=[],e=0;e<b.length;e++)d.getModel().isVertex(b[e])&&c.push(b[e]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var t="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
-a.actions.addAction("copyStyle",function(){var b=d.view.getState(d.getSelectionCell());if(d.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=d.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var e=b[c],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==a.copiedStyle[g]&&"none"==e&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(d.isEnabled()&&!d.isSelectionEmpty()&&
-null!=a.copiedStyle){d.getModel().beginUpdate();try{for(var b=d.getSelectionCells(),c=0;c<b.length;c++)for(var e=d.view.getState(b[c]),f=0;f<t.length;f++){var g=t[f],h=a.copiedStyle[g];e.style[g]!=h&&d.setCellStyles(g,h,[b[c]])}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container,
-320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!k,l)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,
-function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||
-a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));f=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){d.setShadowVisible(!d.shadowVisible)}));f.setToggleAction(!0);f.setSelectedCallback(function(){return d.shadowVisible});var q=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){q||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){q=!1}),
+if("undefined"!==typeof MathJax){var f=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();e.model.execute(b)});f.setToggleAction(!0);f.setSelectedCallback(function(){return a.isMathEnabled()});f.isEnabled=k}isLocalStorage&&(f=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),f.setToggleAction(!0),f.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
+var h=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});h.setToggleAction(!0);h.setSelectedCallback(function(){return h.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=e.getSelectionCells(),c=[],d=0;d<b.length;d++)e.getModel().isVertex(b[d])&&c.push(b[d]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var u="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
+a.actions.addAction("copyStyle",function(){var b=e.view.getState(e.getSelectionCell());if(e.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=e.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var d=b[c],f=d.indexOf("=");if(0<=f){var g=d.substring(0,f),d=d.substring(f+1);null==a.copiedStyle[g]&&"none"==d&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(e.isEnabled()&&!e.isSelectionEmpty()&&
+null!=a.copiedStyle){e.getModel().beginUpdate();try{for(var b=e.getSelectionCells(),c=0;c<b.length;c++)for(var d=e.view.getState(b[c]),f=0;f<u.length;f++){var g=u[f],h=a.copiedStyle[g];d.style[g]!=h&&e.setCellStyles(g,h,[b[c]])}}finally{e.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container,
+320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!k,m)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,
+function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||
+a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));f=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){e.setShadowVisible(!e.shadowVisible)}));f.setToggleAction(!0);f.setSelectedCallback(function(){return e.shadowVisible});var q=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){q||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){q=!1}),
 q=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?
 a.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?a.openLink("shortcuts.svg"):a.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showDialog(b.container,610,360,!0,!0);b.init()});a.actions.addAction("quickStart...",function(){a.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});f=a.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=
 new TagsWindow(a,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));f.setToggleAction(!0);f.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&
 this.tagsWindow.window.isVisible()}));f=a.actions.addAction("find...",mxUtils.bind(this,function(){null==this.findWindow?(this.findWindow=new FindWindow(a,document.body.offsetWidth-300,110,240,140),this.findWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("find"))):this.findWindow.window.setVisible(!this.findWindow.window.isVisible())}));
 f.setToggleAction(!0);f.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.findWindow&&this.findWindow.window.isVisible()}));a.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){a.exportVisio()}));if(mxClient.IS_CHROMEAPP||isLocalStorage&&"1"!=urlParams.offline)if(this.put("language",new Menu(mxUtils.bind(this,function(b,c){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=b.addItem(e,
-null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);a.alert(mxResources.get("restartForChangeRequired"))}),c),(d==mxLanguage||""==d&&null==mxLanguage)&&b.addCheckmark(f,Editor.checkmarkImage));return f});d("");b.addSeparator(c);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var u=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=u.apply(this,arguments);if(null!=
+null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);a.alert(mxResources.get("restartForChangeRequired"))}),c),(d==mxLanguage||""==d&&null==mxLanguage)&&b.addCheckmark(f,Editor.checkmarkImage));return f});d("");b.addSeparator(c);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var t=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=t.apply(this,arguments);if(null!=
 b){var c=this.get("language");null!=c&&(c=b.addMenu("",c.funct),c.setAttribute("title",mxResources.get("language")),c.style.width="16px",c.style.paddingTop="2px",c.style.paddingLeft="4px",c.innerHTML='<div class="geIcon geSprite geSprite-globe"/>',c.style.zIndex="1",c.style.position="absolute",c.style.top="2px",c.style.right="17px",c.style.display="block",mxClient.IS_VML||mxUtils.setOpacity(c,60),document.body.appendChild(c))}return b}}this.put("help",new Menu(mxUtils.bind(this,function(b,c){if(!mxClient.IS_CHROMEAPP&&
-a.isOffline())this.addMenuItems(b,["about"],c);else{var e=b.addItem("Search:",null,null,c,null,null,!1);e.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";e.style.cursor="default";var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","25");f.style.marginLeft="8px";mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(f.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://desk.draw.io/support/search/solutions?term="+
-encodeURIComponent(b)),f.value="",this.editorUi.logEvent({category:"Help",action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(f.value="")}));e.firstChild.nextSibling.appendChild(f);mxEvent.addGestureListeners(f,function(a){document.activeElement!=f&&f.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){f.focus()},0);this.addMenuItems(b,
+a.isOffline())this.addMenuItems(b,["about"],c);else{var d=b.addItem("Search:",null,null,c,null,null,!1);d.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";d.style.cursor="default";var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","25");f.style.marginLeft="8px";mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(f.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://desk.draw.io/support/search/solutions?term="+
+encodeURIComponent(b)),f.value="",this.editorUi.logEvent({category:"Help",action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(f.value="")}));d.firstChild.nextSibling.appendChild(f);mxEvent.addGestureListeners(f,function(a){document.activeElement!=f&&f.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){f.focus()},0);this.addMenuItems(b,
 ["-","quickStart","userManual","keyboardShortcuts","-"],c);mxClient.IS_CHROMEAPP||this.addMenuItems(b,["feedback"],c);this.addMenuItems(b,["support","-"],c);a.isOffline()||navigator.standalone||"1"==urlParams.embed||this.addMenuItems(b,["download"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItems(b,["offline"],c);this.addMenuItems(b,["-","about"],c)}"1"==urlParams.ruler&&(mxResources.parse("rulerInch=Ruler unit: Inches"),this.editorUi.actions.addAction("rulerInch",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.INCHES);
 this.editorUi.hRuler.setUnit(mxRuler.prototype.INCHES);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerCM=Ruler unit: CMs"),this.editorUi.actions.addAction("rulerCM",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.hRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerPixel=Ruler unit: Pixels"),this.editorUi.actions.addAction("rulerPixel",
-mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(b,["-","rulerInch","rulerCM","rulerPixel"],c));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),b=d.view.translate,e=d.view.scale;d.insertVertex(c,
-null,"",a.x/e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){d.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+d.compress(mxUtils.getXml(d.encodeCells(d.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(b,["-","createSidebarEntry","showBoundingBox"],c),mxResources.parse("testXmlImageExport=XML Image Export"),
-this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));e.scale(1/c);var g=0,m=e.save;e.save=function(){g++;m.apply(this,arguments)};var h=e.restore;e.restore=function(){g--;h.apply(this,arguments)};var k=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
-a,g);k.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(d.getView().getState(d.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,["testXmlImageExport"],c),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
+mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(b,["-","rulerInch","rulerCM","rulerPixel"],c));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=e.getGraphBounds(),b=e.view.translate,d=e.view.scale;e.insertVertex(c,
+null,"",a.x/d-b.x,a.y/d-b.y,a.width/d,a.height/d,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){e.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+e.compress(mxUtils.getXml(e.encodeCells(e.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(b,["-","createSidebarEntry","showBoundingBox"],c),mxResources.parse("testXmlImageExport=XML Image Export"),
+this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=e.getGraphBounds(),c=e.view.scale,d=mxUtils.createXmlDocument(),f=d.createElement("output");d.appendChild(f);d=new mxXmlCanvas2D(f);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/c);var l=0,g=d.save;d.save=function(){l++;g.apply(this,arguments)};var h=d.restore;d.restore=function(){l--;h.apply(this,arguments)};var k=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
+a,l);k.apply(this,arguments);mxLog.debug("leaving shape",a,l)};a.drawState(e.getView().getState(e.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",l)})),this.addMenuItems(b,["testXmlImageExport"],c),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
 null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();null!=b&&null!=b.realtime&&
 a.spinner.spin(document.body,mxResources.get("export"))&&(b=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b.getHash().substring(1)+"/realtime",null,"GET"),b.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+b)},b.send(function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()&&a.saveLocalFile(b.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&&
 null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(b,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],c),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(b,["-","testShowConsole"]))})));a.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!a.isOffline()?a.showDialog((new MoreShapesDialog(a,
-!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(d.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle);b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+
-"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,g,m,h,k,l){a.createHtml(b,c,d,e,f,g,m,h,k,l,mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var a=window.open(),d=a.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>");
+!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(e.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle);b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+
+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,l,g,h,k,m){a.createHtml(b,c,d,e,f,l,g,h,k,m,mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var a=window.open(),d=a.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>");
 d.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');d.writeln("<body>");d.writeln(b);var e=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;e&&d.writeln(c);d.writeln("</body>");d.writeln("</html>");d.close();if(!e){var f=a.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));e=a.document.createElement("img");e.setAttribute("src",window.location.protocol+"//"+
 window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");e.style.marginLeft="6px";f.appendChild(e);a.document.body.insertBefore(f,a.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(c)[1];d.body.appendChild(a);f.parentNode.removeChild(f)},20)}});a.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));a.actions.put("liveImage",new Action("Live image...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&
 a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();null!=b?(b=encodeURIComponent(b),b=new EmbedDialog(a,EXPORT_URL+"?format=png&url="+b,0),a.showDialog(b.container,440,240,!0,!0),b.init()):a.handleError({message:mxResources.get("invalidPublicUrl")})})}));a.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedImage(b,c,d,e,f,g,function(b){a.spinner.stop();
 b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0);b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("image"),mxResources.get("retina"),a.isExportToCanvas())}));a.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedSvg(b,c,d,e,f,g,function(b){a.spinner.stop();b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0);
-b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var b=d.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((b.y+b.height-d.view.translate.y)/d.view.scale)+2,function(b,c,d,e,f,g,m,h){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),
-function(k){a.spinner.stop();k=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+m+";height:"+h+';" src="'+a.createLink(b,c,d,e,f,g,k)+'"></iframe>');a.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){a.showPublishLinkDialog(null,null,null,null,function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(m){a.spinner.stop();m=new EmbedDialog(a,
-a.createLink(b,c,d,e,f,g,m));a.showDialog(m.container,440,240,!0,!0);m.init()})})}));a.actions.addAction("googleDocs...",function(){a.openLink("http://docsaddon.draw.io")});a.actions.addAction("googleSites...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();b=new GoogleSitesDialog(a,b);a.showDialog(b.container,420,256,!0,!0);b.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)f=a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}),
+b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var b=e.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((b.y+b.height-e.view.translate.y)/e.view.scale)+2,function(b,c,d,e,f,l,g,h){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),
+function(k){a.spinner.stop();k=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+g+";height:"+h+';" src="'+a.createLink(b,c,d,e,f,l,k)+'"></iframe>');a.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){a.showPublishLinkDialog(null,null,null,null,function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(l){a.spinner.stop();l=new EmbedDialog(a,
+a.createLink(b,c,d,e,f,g,l));a.showDialog(l.container,440,240,!0,!0);l.init()})})}));a.actions.addAction("googleDocs...",function(){a.openLink("http://docsaddon.draw.io")});a.actions.addAction("googleSites...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();b=new GoogleSitesDialog(a,b);a.showDialog(b.container,420,256,!0,!0);b.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)f=a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}),
 f.setToggleAction(!0),f.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,170,!0,!1)});f=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});f.setToggleAction(!0);f.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(a.actions.get("save").funct=
-function(b){d.isEditing()&&d.stopEditing();var c="0"!=urlParams.pages||null!=a.pages&&1<a.pages.length?a.getFileData(!0):mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var e=a.createLoadMessage("save");e.xml=c;b&&(e.exit=!0);c=JSON.stringify(e)}(window.opener||window.parent).postMessage(c,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""));null!=a.getCurrentFile()&&a.saveFile()},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}),
+function(b){e.isEditing()&&e.stopEditing();var c="0"!=urlParams.pages||null!=a.pages&&1<a.pages.length?a.getFileData(!0):mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var d=a.createLoadMessage("save");d.xml=c;b&&(d.exit=!0);c=JSON.stringify(d)}(window.opener||window.parent).postMessage(c,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""));null!=a.getCurrentFile()&&a.saveFile()},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}),
 a.actions.addAction("exit",function(){var b=function(){a.editor.modified=!1;var b="json"==urlParams.proto?JSON.stringify({event:"exit",modified:a.editor.modified}):"";(window.opener||window.parent).postMessage(b,"*")};a.editor.modified?a.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(b,c){a.isExportToCanvas()?(this.addMenuItems(b,["exportPng"],c),a.jpgSupported&&this.addMenuItems(b,
 ["exportJpg"],c)):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPng","exportJpg"],c);this.addMenuItems(b,["exportSvg","-"],c);a.isOffline()||a.printPdfExport?this.addMenuItems(b,["exportPdf"],c):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPdf"],c);mxClient.IS_IE11||mxClient.IS_IE||"undefined"===typeof VsdxExport&&a.isOffline()||this.addMenuItems(b,["exportVsdx"],c);this.addMenuItems(b,["-","exportHtml","exportXml","exportUrl"],
-c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(c,e){function f(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=m(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())),
-c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,c,e){var f=d.view,g=d.getGraphBounds(),m=d.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*d.gridSize)),h=d.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*d.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,k=mxUtils.bind(this,function(){a.resizeImage(f,
-b,mxUtils.bind(this,function(f,k,l){f=g?Math.min(1,Math.min(a.maxImageSize/k,a.maxImageSize/l)):1;a.importFile(b,c,m,h,Math.round(k*f),Math.round(l*f),e,function(b){a.spinner.stop();d.setSelectionCells(b);d.scrollCellToVisible(d.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;k()}):k()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,c,m,h,0,0,e,function(b){a.spinner.stop();d.setSelectionCells(b);
-d.scrollCellToVisible(d.getSelectionCell())})}),m=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){f(a.drive)},e):l&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+
-"...",null,function(){f(a.gitHub)},e);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){f(a.dropbox)},e):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){f(a.oneDrive)},e):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,
-function(){f(a.trello)},e):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);c.addSeparator(e);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},e);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},e);a.isOffline()||(c.addSeparator(e),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),
-function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){g(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},e));a.showCsvImport&&c.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},e)})).isEnabled=
-k;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);
-d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));f=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=
-this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==
-DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}}));f.isEnabled=function(){return this.enabled&&k.apply(this,arguments)};f.visible="1"!=urlParams.embed;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?
-b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,
-function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,
-function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));
-a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||
-this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));var w="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),y=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow=
-"auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},x=function(a,b,c,e){var f=d.isMouseInsertPoint()?d.getInsertPoint():d.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,c),e);a.vertex=!0;d.getModel().beginUpdate();try{a=d.addCell(a),d.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{d.getModel().endUpdate()}d.scrollCellToVisible(a);d.setSelectionCell(a);d.container.focus();d.editAfterInsert&&d.startEditing(a);return a};a.actions.addAction("insertText",
-function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&d.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},null,null,Editor.ctrlKey+"+Shift+X").isEnabled=k;a.actions.addAction("insertRectangle",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=k;a.actions.addAction("insertEllipse",function(){d.isEnabled()&&
-!d.isCellLocked(d.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=k;a.actions.addAction("insertRhombus",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&x("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=k;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=
-0;c<w.length;c++)"-"==w[c]?a.addSeparator(b):y(a,b,mxResources.get(w[c])+"...",w[c])})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){a.loadFile(d.id)},c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(c,
-d){null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},d):l&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+
-"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.pickFile(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&
-"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?
-"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(c,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},d):l&&c.addItem(mxResources.get("googleDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+
-"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+
-"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},d)})),this.put("openLibraryFrom",new Menu(function(c,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},d):l&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+
-"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+
-" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},
-d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(B){a.handleError(B,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),
-a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",
-new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);mxClient.IS_SVG&&
-(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=
-urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",
-b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b,"- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],
-c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==
-OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,
-["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var d=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(a,e){if(480>=screen.width&&a==this.get("help")){e.style.paddingRight="0px";e.style.paddingLeft="0px";e.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);e.appendChild(c)}d.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
-DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,e,d){this.ui=a;this.page=e;this.previous=this.name=d}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
-function MovePage(a,e,d){this.ui=a;this.oldIndex=e;this.newIndex=d}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
-function SelectPage(a,e){this.ui=a;this.previousPage=this.page=e;this.neverShown=!0;null!=e&&(this.neverShown=null==e.viewState,this.ui.updatePageRoot(e))}
-SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,e=this.ui.editor,d=e.graph,c=e.graph.compress(d.zapGremlins(mxUtils.getXml(e.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=d.getViewState();a.root=d.model.root;d.view.clear(a.root,!0);d.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;d.model.rootChanged(a.root);d.setViewState(a.viewState);
-e.fireEvent(new mxEventObject("setViewState","change",this));d.gridEnabled=d.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);e.updateGraphComponents();d.view.validate();d.sizeDidChange();this.neverShown&&(this.neverShown=!1,d.selectUnlockedLayer());e.graph.fireEvent(new mxEventObject(mxEvent.ROOT));e.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,e,d,c){SelectPage.call(this,a,d);this.relatedPage=e;this.index=c;this.previousIndex=null}
+c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(c,d){function f(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=l(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())),
+c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,c,d){var f=e.view,g=e.getGraphBounds(),l=e.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*e.gridSize)),h=e.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*e.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,k=mxUtils.bind(this,function(){a.resizeImage(f,
+b,mxUtils.bind(this,function(f,k,m){f=g?Math.min(1,Math.min(a.maxImageSize/k,a.maxImageSize/m)):1;a.importFile(b,c,l,h,Math.round(k*f),Math.round(m*f),d,function(b){a.spinner.stop();e.setSelectionCells(b);e.scrollCellToVisible(e.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;k()}):k()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,c,l,h,0,0,d,function(b){a.spinner.stop();e.setSelectionCells(b);
+e.scrollCellToVisible(e.getSelectionCell())})}),l=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){f(a.drive)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+
+"...",null,function(){f(a.gitHub)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){f(a.dropbox)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){f(a.oneDrive)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,
+function(){f(a.trello)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),
+function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){g(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})).isEnabled=k;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),
+null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();
+a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));f=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,
+c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;
+a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}}));f.isEnabled=function(){return this.enabled&&k.apply(this,arguments)};f.visible="1"!=urlParams.embed;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",
+[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,
+function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),
+mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));
+this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));
+var w=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},x=function(a,b,c,d){var f=e.isMouseInsertPoint()?e.getInsertPoint():e.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,c),d);a.vertex=
+!0;e.getModel().beginUpdate();try{a=e.addCell(a),e.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{e.getModel().endUpdate()}e.scrollCellToVisible(a);e.setSelectionCell(a);e.container.focus();e.editAfterInsert&&e.startEditing(a);return a};a.actions.addAction("insertText",function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&e.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},
+null,null,Editor.ctrlKey+"+Shift+X").isEnabled=k;a.actions.addAction("insertRectangle",function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=k;a.actions.addAction("insertEllipse",function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=k;a.actions.addAction("insertRhombus",function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&
+x("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=k;var B=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):w(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);b.addSeparator(c);this.addSubmenu("layout",b,c);b.addSeparator(c);B(b,c,["fromText","plantUml","-","formatSql"]);b.addItem(mxResources.get("csv")+
+"...",null,function(){a.showImportCsvDialog()},c)})));this.put("layout",new Menu(mxUtils.bind(this,function(a,b){B(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){a.loadFile(d.id)},
+c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(c,d){null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+
+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.pickFile(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+
+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&
+(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(c,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",
+null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+
+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},d)})),this.put("openLibraryFrom",new Menu(function(c,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+
+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=
+a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+
+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=
+c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(z){a.handleError(z,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));
+this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);
+mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,
+"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",
+b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b,"- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],
+c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],
+c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==
+DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var e=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(a,d){if(480>=screen.width&&a==this.get("help")){d.style.paddingRight="0px";d.style.paddingLeft="0px";d.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",
+Editor.helpImage);d.appendChild(c)}e.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
+DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,d,e){this.ui=a;this.page=d;this.previous=this.name=e}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
+function MovePage(a,d,e){this.ui=a;this.oldIndex=d;this.newIndex=e}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
+function SelectPage(a,d){this.ui=a;this.previousPage=this.page=d;this.neverShown=!0;null!=d&&(this.neverShown=null==d.viewState,this.ui.updatePageRoot(d))}
+SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,d=this.ui.editor,e=d.graph,c=d.graph.compress(e.zapGremlins(mxUtils.getXml(d.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=e.getViewState();a.root=e.model.root;e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.rootChanged(a.root);e.setViewState(a.viewState);
+d.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);d.updateGraphComponents();e.view.validate();e.sizeDidChange();this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());d.graph.fireEvent(new mxEventObject(mxEvent.ROOT));d.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,d,e,c){SelectPage.call(this,a,e);this.relatedPage=d;this.index=c;this.previousIndex=null}
 mxUtils.extend(ChangePage,SelectPage);ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)};
-EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var e=0;e<this.pages.length;e++)if(this.pages[e].getId()==a)return this.pages[e];return null};
-EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,e=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height=
-null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}e.apply(a.view,arguments)});var d=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var c=this.currentPage;null!=c&&c!=d&&(null==c.viewState||null==c.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=
-a.view.translate.x*a.view.scale+c.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+c.viewState.scrollTop),d=c);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||
+EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var d=0;d<this.pages.length;d++)if(this.pages[d].getId()==a)return this.pages[d];return null};
+EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,d=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height=
+null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}d.apply(a.view,arguments)});var e=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var c=this.currentPage;null!=c&&c!=e&&(null==c.viewState||null==c.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=
+a.view.translate.x*a.view.scale+c.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+c.viewState.scrollTop),e=c);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||
 Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,d){for(var e=d.getProperty("edit").changes,g=0;g<e.length;g++)if(e[g]instanceof SelectPage||e[g]instanceof RenamePage||e[g]instanceof MovePage||e[g]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
-Graph.prototype.createViewState=function(a){var e=a.getAttribute("page"),d=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),g=a.getAttribute("pageHeight"),k=a.getAttribute("background"),l=a.getAttribute("backgroundImage"),l=null!=l&&0<l.length?JSON.parse(l):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
-a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=e?"0"!=e:this.defaultPageVisible,background:null!=k&&0<k.length?k:this.defaultGraphBackground,backgroundImage:null!=l?new mxImage(l.src,l.width,l.height):null,pageScale:null!=d?d:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
+Graph.prototype.createViewState=function(a){var d=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),g=a.getAttribute("pageHeight"),k=a.getAttribute("background"),m=a.getAttribute("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
+a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=d?"0"!=d:this.defaultPageVisible,background:null!=k&&0<k.length?k:this.defaultGraphBackground,backgroundImage:null!=m?new mxImage(m.src,m.width,m.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==
 a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
 Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
 arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
 Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
 a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null),this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer()),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=
 mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize=
-this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var e=this.editor.extractGraphModel(a.node);if(null!=e){a.graphModelNode=e;a.viewState=this.editor.graph.createViewState(e);var d=new mxCodec(e.ownerDocument);a.root=d.decode(e).root}else a.root=this.editor.graph.model.createRoot()}return a};
-EditorUi.prototype.selectPage=function(a,e){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);e=null!=e?e:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var d=this.editor.graph.model.createUndoableEdit();d.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();d.add(c);d.notify();this.editor.graph.tooltipHandler.hide();e||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))};
-EditorUi.prototype.selectNextPage=function(a){var e=this.currentPage;null!=e&&null!=this.pages&&(e=mxUtils.indexOf(this.pages,e),a?this.selectPage(this.pages[mxUtils.mod(e+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(e-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,e){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();e=null!=e?e:this.pages.length;var d=new ChangePage(this,a,a,e);this.editor.graph.model.execute(d)}return a};
-EditorUi.prototype.createPage=function(a){var e=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));e.setName(null!=a?a:this.createPageName());return e};EditorUi.prototype.createPageName=function(){for(var a={},e=0;e<this.pages.length;e++){var d=this.pages[e].getName();null!=d&&0<d.length&&(a[d]=d)}e=this.pages.length;do d=mxResources.get("pageWithNumber",[++e]);while(null!=a[d]);return d};
-EditorUi.prototype.removePage=function(a){var e=this.editor.graph;if(e.isEnabled()){e.model.beginUpdate();try{var d=this.currentPage;if(d==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;d=this.pages[c]}else d=this.insertPage(),e.model.execute(new RenamePage(this,d,mxResources.get("pageWithNumber",[1])));e.model.execute(new ChangePage(this,a,d))}finally{e.model.endUpdate()}}return a};
-EditorUi.prototype.duplicatePage=function(a,e){var d=this.editor.graph,c=null;d.isEnabled()&&(d.isEditing()&&d.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=d.cloneCells([d.model.root])[0],c.viewState=d.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(e),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c};
-EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var e=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,a,d))}),mxResources.get("rename"));this.showDialog(e.container,300,80,!0,!0);e.init()}return a};EditorUi.prototype.movePage=function(a,e){this.editor.graph.model.execute(new MovePage(this,a,e))};
+this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var d=this.editor.extractGraphModel(a.node);if(null!=d){a.graphModelNode=d;a.viewState=this.editor.graph.createViewState(d);var e=new mxCodec(d.ownerDocument);a.root=e.decode(d).root}else a.root=this.editor.graph.model.createRoot()}return a};
+EditorUi.prototype.selectPage=function(a,d){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);d=null!=d?d:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var e=this.editor.graph.model.createUndoableEdit();e.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();e.add(c);e.notify();this.editor.graph.tooltipHandler.hide();d||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",e))};
+EditorUi.prototype.selectNextPage=function(a){var d=this.currentPage;null!=d&&null!=this.pages&&(d=mxUtils.indexOf(this.pages,d),a?this.selectPage(this.pages[mxUtils.mod(d+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(d-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,d){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();d=null!=d?d:this.pages.length;var e=new ChangePage(this,a,a,d);this.editor.graph.model.execute(e)}return a};
+EditorUi.prototype.createPage=function(a){var d=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));d.setName(null!=a?a:this.createPageName());return d};EditorUi.prototype.createPageName=function(){for(var a={},d=0;d<this.pages.length;d++){var e=this.pages[d].getName();null!=e&&0<e.length&&(a[e]=e)}d=this.pages.length;do e=mxResources.get("pageWithNumber",[++d]);while(null!=a[e]);return e};
+EditorUi.prototype.removePage=function(a){var d=this.editor.graph;if(d.isEnabled()){d.model.beginUpdate();try{var e=this.currentPage;if(e==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;e=this.pages[c]}else e=this.insertPage(),d.model.execute(new RenamePage(this,e,mxResources.get("pageWithNumber",[1])));d.model.execute(new ChangePage(this,a,e))}finally{d.model.endUpdate()}}return a};
+EditorUi.prototype.duplicatePage=function(a,d){var e=this.editor.graph,c=null;e.isEnabled()&&(e.isEditing()&&e.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=e.cloneCells([e.model.root])[0],c.viewState=e.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(d),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c};
+EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var d=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,a,d))}),mxResources.get("rename"));this.showDialog(d.container,300,80,!0,!0);d.init()}return a};EditorUi.prototype.movePage=function(a,d){this.editor.graph.model.execute(new MovePage(this,a,d))};
 EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a};
-EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,e=document.createElement("div");e.style.position="relative";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.style.verticalAlign="top";e.style.height=this.tabContainer.style.height;e.style.whiteSpace="nowrap";e.style.overflow="hidden";e.style.fontSize="12px";e.style.marginLeft="30px";for(var d=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
-d)/this.pages.length)+1),g=null,k=0;k<this.pages.length;k++)mxUtils.bind(this,function(b,c){this.pages[b]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){a.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=b):mxEvent.consume(c)}));mxEvent.addListener(c,
-"dragend",mxUtils.bind(this,function(b){g=null;b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null!=g&&(b.dataTransfer.dropEffect="move");b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=g&&b!=g&&this.movePage(g,b);a.stopPropagation();a.preventDefault()}));e.appendChild(c)})(k,this.createTabForPage(this.pages[k],c,this.pages[k]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(e);
-c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(e.clientWidth>this.tabContainer.clientWidth-d){null!=c&&(c.style.position="absolute",c.style.right="0px",e.style.marginRight="30px");var l=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");l.style.position="absolute";l.style.right=this.editor.chromeless?"29px":"55px";l.style.fontSize="13pt";this.tabContainer.appendChild(l);var n=this.createControlTab(4,
-"&nbsp;&#10095;");n.style.position="absolute";n.style.right=this.editor.chromeless?"0px":"29px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));e.style.width=p+"px";mxEvent.addListener(l,"click",mxUtils.bind(this,function(b){e.scrollLeft-=Math.max(20,p-20);mxUtils.setOpacity(l,0<e.scrollLeft?100:50);mxUtils.setOpacity(n,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.consume(b)}));mxUtils.setOpacity(l,
-0<e.scrollLeft?100:50);mxUtils.setOpacity(n,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.addListener(n,"click",mxUtils.bind(this,function(b){e.scrollLeft+=Math.max(20,p-20);mxUtils.setOpacity(l,0<e.scrollLeft?100:50);mxUtils.setOpacity(n,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.consume(b)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
-EditorUi.prototype.createTab=function(a){var e=document.createElement("div");e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.style.whiteSpace="nowrap";e.style.boxSizing="border-box";e.style.position="relative";e.style.overflow="hidden";e.style.marginLeft="-1px";e.style.height=this.tabContainer.clientHeight+"px";e.style.padding="8px 4px 8px 4px";e.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";e.style.borderBottomStyle="solid";e.style.backgroundColor=this.tabContainer.style.backgroundColor;
-e.style.cursor="move";e.style.color="gray";a&&(mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(e.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){e.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return e};
-EditorUi.prototype.createControlTab=function(a,e){var d=this.createTab(!0);d.style.paddingTop=a+"px";d.style.cursor="pointer";d.style.width="30px";d.style.lineHeight="30px";d.innerHTML=e;null!=d.firstChild&&null!=d.firstChild.style&&mxUtils.setOpacity(d.firstChild,40);return d};
+EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,d=document.createElement("div");d.style.position="relative";d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.verticalAlign="top";d.style.height=this.tabContainer.style.height;d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.style.fontSize="12px";d.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
+e)/this.pages.length)+1),g=null,k=0;k<this.pages.length;k++)mxUtils.bind(this,function(b,c){this.pages[b]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){a.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=b):mxEvent.consume(c)}));mxEvent.addListener(c,
+"dragend",mxUtils.bind(this,function(b){g=null;b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null!=g&&(b.dataTransfer.dropEffect="move");b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=g&&b!=g&&this.movePage(g,b);a.stopPropagation();a.preventDefault()}));d.appendChild(c)})(k,this.createTabForPage(this.pages[k],c,this.pages[k]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(d);
+c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(d.clientWidth>this.tabContainer.clientWidth-e){null!=c&&(c.style.position="absolute",c.style.right="0px",d.style.marginRight="30px");var m=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");m.style.position="absolute";m.style.right=this.editor.chromeless?"29px":"55px";m.style.fontSize="13pt";this.tabContainer.appendChild(m);var n=this.createControlTab(4,
+"&nbsp;&#10095;");n.style.position="absolute";n.style.right=this.editor.chromeless?"0px":"29px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));d.style.width=p+"px";mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){d.scrollLeft-=Math.max(20,p-20);mxUtils.setOpacity(m,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(b)}));mxUtils.setOpacity(m,
+0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.addListener(n,"click",mxUtils.bind(this,function(b){d.scrollLeft+=Math.max(20,p-20);mxUtils.setOpacity(m,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(b)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
+EditorUi.prototype.createTab=function(a){var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.whiteSpace="nowrap";d.style.boxSizing="border-box";d.style.position="relative";d.style.overflow="hidden";d.style.marginLeft="-1px";d.style.height=this.tabContainer.clientHeight+"px";d.style.padding="8px 4px 8px 4px";d.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";d.style.borderBottomStyle="solid";d.style.backgroundColor=this.tabContainer.style.backgroundColor;
+d.style.cursor="move";d.style.color="gray";a&&(mxEvent.addListener(d,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(d.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(d,"mouseleave",mxUtils.bind(this,function(a){d.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return d};
+EditorUi.prototype.createControlTab=function(a,d){var e=this.createTab(!0);e.style.paddingTop=a+"px";e.style.cursor="pointer";e.style.width="30px";e.style.lineHeight="30px";e.innerHTML=d;null!=e.firstChild&&null!=e.firstChild.style&&mxUtils.setOpacity(e.firstChild,40);return e};
 EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(mxUtils.bind(this,function(a,c){for(var d=0;d<this.pages.length;d++)mxUtils.bind(this,
 function(b){var d=a.addItem(this.pages[b].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[b])}),c);this.pages[b]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(c);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),c);var e=this.currentPage;null!=e&&(a.addSeparator(c),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),c),a.addItem(mxResources.get("rename"),
-null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),c),a.addSeparator(c),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(a),e=mxEvent.getClientY(a);d.popup(c,e,null,a);this.setCurrentMenu(d);
+null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),c),a.addSeparator(c),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(a),g=mxEvent.getClientY(a);d.popup(c,g,null,a);this.setCurrentMenu(d);
 mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a};
-EditorUi.prototype.createTabForPage=function(a,e,d){d=this.createTab(d);var c=a.getName();d.setAttribute("title",c);mxUtils.write(d,c);d.style.maxWidth=e+"px";d.style.width=e+"px";this.addTabListeners(a,d);42<e&&(d.style.textOverflow="ellipsis");return d};
-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 n=mxEvent.getClientX(k),p=mxEvent.getClientY(k);l.popup(n,p,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(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,d,c){c.setAttribute("page",d.page.getId());return c};a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.page=a.ui.getPageById(d.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,d,c){c.setAttribute("relatedPage",d.relatedPage.getId());null==d.index&&(c.setAttribute("name",d.relatedPage.getName()),null!=d.relatedPage.root&&a.encodeCell(d.relatedPage.root,c));return c};a.beforeDecode=function(a,d,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(d.getAttribute("relatedPage"));if(null==c.relatedPage){var e=document.createElement("diagram");e.setAttribute("id",d.getAttribute("relatedPage"));
-e.setAttribute("name",d.getAttribute("name"));c.relatedPage=new DiagramPage(e);d=d.cloneNode(!0);e=d.firstChild;if(null!=e)for(c.relatedPage.root=a.decodeCell(e,!1),c=e.nextSibling,e.parentNode.removeChild(e),e=c;null!=e;){c=e.nextSibling;if(e.nodeType==mxConstants.NODETYPE_ELEMENT){var k=e.getAttribute("id");null==a.lookup(k)&&a.decodeCell(e)}e.parentNode.removeChild(e);e=c}}return d};a.afterDecode=function(a,d,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",e=Graph.prototype.foldCells;
-Graph.prototype.foldCells=function(a,c,d,n,p){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var b=d.slice(),f=[],g=0;g<d.length;g++){var k=this.view.getState(d[g]),l=null!=k?k.style:this.getCellStyle(d[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(d[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=d[g]&&f.push(a);return a==d[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[g],
-a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);d=b;d=e.apply(this,arguments)}finally{this.model.endUpdate()}return d};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function c(a){return w.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=w.getParent(a),b=u.view.getState(a),u.view.getState(a),b="tree"==(null!=b?b.style:u.getCellStyle(a)).containerType);
-return b}function e(a){var b=!1;null!=a&&(a=w.getParent(a),b=u.view.getState(a),u.view.getState(a),b=null!=(null!=b?b.style:u.getCellStyle(a)).childLayout);return b}function n(a){a=u.view.getState(a);if(null!=a){var b=u.getIncomingEdges(a.cell);if(0<b.length&&(b=u.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<
-a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function p(a,b){b=null!=b?b:!0;u.model.beginUpdate();try{var c=u.model.getParent(a),d=u.getIncomingEdges(a),e=u.cloneCells([d[0],a]);u.model.setTerminal(e[0],u.model.getTerminal(d[0],!0),!0);var f=n(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+
-10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);u.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=u.view.getState(a),k=u.view.scale;if(null!=h){var m=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var l=u.getOutgoingEdges(u.model.getTerminal(d[0],
-!0));if(null!=l){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,w=g=d=0;w<l.length;w++){var q=u.model.getTerminal(l[w],!1);if(f==n(q)){var v=u.view.getState(q);q!=a&&null!=v&&(p&&b!=v.getCenterX()<h.getCenterX()||!p&&b!=v.getCenterY()<h.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/k),g=10+Math.max(g,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/k))}}p?g=0:d=0;for(w=0;w<l.length;w++)if(q=u.model.getTerminal(l[w],
-!1),f==n(q)&&(v=u.view.getState(q),q!=a&&null!=v&&(p&&b!=v.getCenterX()<h.getCenterX()||!p&&b!=v.getCenterY()<h.getCenterY()))){var t=[];u.traverse(v.cell,!0,function(a,b){null!=b&&t.push(b);t.push(a);return!0});u.moveCells(t,(b?1:-1)*d,(b?1:-1)*g)}}}return u.addCells(e,c)}finally{u.model.endUpdate()}}function b(a){u.model.beginUpdate();try{var b=n(a),c=u.getIncomingEdges(a),d=u.cloneCells([c[0],a]);u.model.setTerminal(c[0],d[1],!1);u.model.setTerminal(d[0],d[1],!0);u.model.setTerminal(d[0],a,!1);
-var e=u.model.getParent(a),f=e.geometry,g=[];u.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);u.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);u.moveCells(g,h,k);return u.addCells(d,e)}finally{u.model.endUpdate()}}function f(a){u.model.beginUpdate();try{var b=
-u.model.getParent(a),c=u.getIncomingEdges(a),d=u.cloneCells([c[0],a]);u.model.setTerminal(d[0],a,!0);var c=u.getOutgoingEdges(a),e=b.geometry,f=[];u.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=u.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=u.view.getBounds(f),m=n(a),l=u.view.translate,p=u.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-l.x-e.x+10,d[1].geometry.y+=a.geometry.height-
-e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-l.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-l.y+-e.y+10);return u.addCells(d,b)}finally{u.model.endUpdate()}}function h(a,
-b,c){a=u.getOutgoingEdges(a);c=u.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=u.view.getState(u.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 t(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
-c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():c==b?(d=u.getOutgoingEdges(a),null!=d&&0<d.length&&u.setSelectionCell(u.model.getTerminal(d[0],!1))):(c=u.getIncomingEdges(a),null!=c&&0<c.length&&(d=h(u.model.getTerminal(c[0],!0),d,a),c=u.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&&u.setSelectionCell(d[c].cell)))))}var q=this,u=q.editor.graph,w=u.getModel();mxResources.parse("selectChildren=Select Children");
-mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var y=q.menus.createPopupMenu;q.menus.createPopupMenu=function(a,b,d){y.apply(this,arguments);if(1==u.getSelectionCount()){b=u.getSelectionCell();var e=u.getOutgoingEdges(b);a.addSeparator();null!=e&&0<e.length&&(c(u.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));c(u.getSelectionCell())&&
-(a.addSeparator(),0<u.getIncomingEdges(b).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),
-a=u.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=u.getOutgoingEdges(u.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(u.model.getTerminal(a[c],!1));u.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),a=u.getIncomingEdges(a);null!=a&&0<a.length&&u.setSelectionCell(u.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants",
-function(){if(u.isEnabled()&&1==u.getSelectionCount()){var a=u.getSelectionCell(),b=[];u.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});u.setSelectionCells(b)}},null,null,"Alt+Shift+T");var x=u.removeCells;u.removeCells=function(a,b){b=null!=b?b:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));b&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(u.traverse(g,!0,
-function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=u.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return x.apply(this,arguments)};q.hoverIcons.getStateAt=function(a,b,d){return c(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(b,d))};var m=u.duplicateCells;u.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=u.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=u.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
-a)}this.model.beginUpdate();try{var h=m.call(this,a,b);if(h.length==a.length)for(e=0;e<a.length;e++)if(c(a[e])){var k=u.getIncomingEdges(h[e]),g=u.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,u.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=u.moveCells;u.moveCells=function(a,b,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var m=f,l=this.view.getState(f),n=null!=l?l.style:this.getCellStyle(f);
-if(null!=a&&c(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(c(a[p])||u.model.isEdge(a[p])&&null==u.model.getTerminal(a[p],!0)){f=u.model.getParent(a[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var w=u.getIncomingEdges(a[0]);if(0<w.length){var q=u.view.getState(u.model.getTerminal(w[0],!0));if(null!=q){var t=u.view.getState(m);null!=t&&(b=(t.getCenterX()-q.getCenterX())/u.view.scale,d=(t.getCenterY()-q.getCenterY())/u.view.scale)}}}}k=v.apply(this,arguments);
-if(null!=k&&null!=a&&k.length==a.length)for(p=0;p<k.length;p++)if(this.model.isEdge(k[p]))c(m)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[p],!0))&&this.model.setTerminal(k[p],m,!0);else if(c(a[p])&&(w=u.getIncomingEdges(a[p]),0<w.length))if(!e)c(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(w[0],!0))&&this.model.setTerminal(w[0],m,!0);else if(0==u.getIncomingEdges(k[p]).length){l=m;if(null==l||l==u.model.getParent(a[p]))l=u.model.getTerminal(w[0],!0);e=this.cloneCells([w[0]])[0];this.addEdge(e,
-u.getDefaultParent(),l,k[p])}}finally{this.model.endUpdate()}return k};if(null!=q.sidebar){var H=q.sidebar.dropAndConnect;q.sidebar.dropAndConnect=function(a,b,d,e){var f=u.model,g=null;f.beginUpdate();try{if(g=H.apply(this,arguments),c(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=u.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var G={88:q.actions.get("selectChildren"),
-84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},z=q.onKeyDown;q.onKeyDown=function(a){try{if(u.isEnabled()&&!u.isEditing()&&c(u.getSelectionCell())&&1==u.getSelectionCount()){var d=null;0<u.getIncomingEdges(u.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?b(u.getSelectionCell()):f(u.getSelectionCell()):13==a.which&&(d=p(u.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&u.model.isEdge(d[0])?u.setSelectionCell(u.model.getTerminal(d[0],
-!1)):u.setSelectionCell(d[d.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(u.view.getState(u.getSelectionCell())),u.startEditingAtCell(u.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=G[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(t(u.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(t(u.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(t(u.getSelectionCell(),
-mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(t(u.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(F){console.log("error",F)}mxEvent.isConsumed(a)||z.apply(this,arguments)};var A=u.connectVertex;u.connectVertex=function(a,d,e,g,h,k){var m=u.getIncomingEdges(a);return c(a)&&0<m.length?(e=n(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(a):g==h?b(a):p(a,d!=mxConstants.DIRECTION_NORTH&&
-d!=mxConstants.DIRECTION_WEST)):A.call(this,a,d,e,g,h,k)};u.getSubtree=function(a){var b=[a];c(a)&&!e(a)&&u.traverse(a,!0,function(a,c){null!=c&&0>mxUtils.indexOf(b,c)&&b.push(c);0>mxUtils.indexOf(b,a)&&b.push(a);return!0});return b};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);c(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
+EditorUi.prototype.createTabForPage=function(a,d,e){e=this.createTab(e);var c=a.getName();e.setAttribute("title",c);mxUtils.write(e,c);e.style.maxWidth=d+"px";e.style.width=d+"px";this.addTabListeners(a,e);42<d&&(e.style.textOverflow="ellipsis");return e};
+EditorUi.prototype.addTabListeners=function(a,d){mxEvent.disableContextMenu(d);var e=this.editor.graph;mxEvent.addListener(d,"dblclick",mxUtils.bind(this,function(c){this.renamePage(a);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(d,mxUtils.bind(this,function(d){c=null!=this.currentMenu;g=a==this.currentPage;e.isMouseDown||g||this.selectPage(a)}),null,mxUtils.bind(this,function(k){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(k)&&g||mxEvent.isPopupTrigger(k))){e.popupMenuHandler.hideMenu();
+this.hideCurrentMenu();if(!mxEvent.isTouchEvent(k)||!c){var m=new mxPopupMenu(this.createPageMenu(a));m.div.className+=" geMenubarMenu";m.smartSeparators=!0;m.showDisabled=!0;m.autoExpand=!0;m.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(m,arguments);this.resetCurrentMenu();m.destroy()});var n=mxEvent.getClientX(k),p=mxEvent.getClientY(k);m.popup(n,p,null,k);this.setCurrentMenu(m,d)}mxEvent.consume(k)}}))};
+EditorUi.prototype.createPageMenu=function(a,d){return mxUtils.bind(this,function(e,c){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,d)}),c);e.addSeparator(c);e.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(d){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};mxCodecRegistry.register(a)})();
+(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,e,c){c.setAttribute("page",e.page.getId());return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.page=a.ui.getPageById(e.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})();
+(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,c){c.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(c.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,c));return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(e.getAttribute("relatedPage"));if(null==c.relatedPage){var d=document.createElement("diagram");d.setAttribute("id",e.getAttribute("relatedPage"));
+d.setAttribute("name",e.getAttribute("name"));c.relatedPage=new DiagramPage(d);e=e.cloneNode(!0);d=e.firstChild;if(null!=d)for(c.relatedPage.root=a.decodeCell(d,!1),c=d.nextSibling,d.parentNode.removeChild(d),d=c;null!=d;){c=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var k=d.getAttribute("id");null==a.lookup(k)&&a.decodeCell(d)}d.parentNode.removeChild(d);d=c}}return e};a.afterDecode=function(a,e,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",d=Graph.prototype.foldCells;
+Graph.prototype.foldCells=function(a,c,e,n,p){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var b=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),m=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g],
+a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=b;e=d.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function c(a){return w.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);
+return b}function e(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<
+a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function p(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+
+10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=t.view.getState(a),l=t.view.scale;if(null!=h){var k=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?k.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*l:k.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var m=t.getOutgoingEdges(t.model.getTerminal(d[0],
+!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<m.length;q++){var v=t.model.getTerminal(m[q],!1);if(f==n(v)){var w=t.view.getState(v);v!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||!p&&b!=w.getCenterY()<h.getCenterY())&&mxUtils.intersects(k,w)&&(d=10+Math.max(d,(Math.min(k.x+k.width,w.x+w.width)-Math.max(k.x,w.x))/l),g=10+Math.max(g,(Math.min(k.y+k.height,w.y+w.height)-Math.max(k.y,w.y))/l))}}p?g=0:d=0;for(q=0;q<m.length;q++)if(v=t.model.getTerminal(m[q],
+!1),f==n(v)&&(w=t.view.getState(v),v!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||!p&&b!=w.getCenterY()<h.getCenterY()))){var u=[];t.traverse(w.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});t.moveCells(u,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function b(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1);
+var e=t.model.getParent(a),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,l=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,l=-40):b==mxConstants.DIRECTION_WEST?(h=-40,l=0):b==mxConstants.DIRECTION_EAST&&(l=0);t.moveCells(g,h,l);return t.addCells(d,e)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=
+t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=t.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var l=t.view.getBounds(f),k=n(a),m=t.view.translate,p=t.view.scale;k==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height-
+e.y+40):k==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=k==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==l?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(l.y+l.height)/p-m.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function h(a,
+b,c){a=t.getOutgoingEdges(a);c=t.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=t.view.getState(t.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function u(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
+c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=h(t.model.getTerminal(c[0],!0),d,a),c=t.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&t.setSelectionCell(d[c].cell)))))}var q=this,t=q.editor.graph,w=t.getModel();mxResources.parse("selectChildren=Select Children");
+mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var x=q.menus.createPopupMenu;q.menus.createPopupMenu=function(a,b,d){x.apply(this,arguments);if(1==t.getSelectionCount()){b=t.getSelectionCell();var e=t.getOutgoingEdges(b);a.addSeparator();null!=e&&0<e.length&&(c(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));c(t.getSelectionCell())&&
+(a.addSeparator(),0<t.getIncomingEdges(b).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),
+a=t.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=t.getOutgoingEdges(t.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);null!=a&&0<a.length&&t.setSelectionCell(t.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants",
+function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),b=[];t.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});t.setSelectionCells(b)}},null,null,"Alt+Shift+T");var B=t.removeCells;t.removeCells=function(a,b){b=null!=b?b:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));b&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(t.traverse(g,!0,
+function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=t.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return B.apply(this,arguments)};q.hoverIcons.getStateAt=function(a,b,d){return c(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(b,d))};var l=t.duplicateCells;t.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
+a)}this.model.beginUpdate();try{var h=l.call(this,a,b);if(h.length==a.length)for(e=0;e<a.length;e++)if(c(a[e])){var k=t.getIncomingEdges(h[e]),g=t.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var m=this.cloneCells([g[0]])[0];this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=t.moveCells;t.moveCells=function(a,b,d,e,f,g,h){var l=null;this.model.beginUpdate();try{var k=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f);
+if(null!=a&&c(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(c(a[p])||t.model.isEdge(a[p])&&null==t.model.getTerminal(a[p],!0)){f=t.model.getParent(a[p]);break}if(null!=k&&f!=k&&null!=this.view.getState(a[0])){var q=t.getIncomingEdges(a[0]);if(0<q.length){var w=t.view.getState(t.model.getTerminal(q[0],!0));if(null!=w){var u=t.view.getState(k);null!=u&&(b=(u.getCenterX()-w.getCenterX())/t.view.scale,d=(u.getCenterY()-w.getCenterY())/t.view.scale)}}}}l=v.apply(this,arguments);
+if(null!=l&&null!=a&&l.length==a.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))c(k)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],k,!0);else if(c(a[p])&&(q=t.getIncomingEdges(a[p]),0<q.length))if(!e)c(k)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],k,!0);else if(0==t.getIncomingEdges(l[p]).length){m=k;if(null==m||m==t.model.getParent(a[p]))m=t.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,
+t.getDefaultParent(),m,l[p])}}finally{this.model.endUpdate()}return l};if(null!=q.sidebar){var G=q.sidebar.dropAndConnect;q.sidebar.dropAndConnect=function(a,b,d,e){var f=t.model,g=null;f.beginUpdate();try{if(g=G.apply(this,arguments),c(a))for(var l=0;l<g.length;l++)if(f.isEdge(g[l])&&null==f.getTerminal(g[l],!0)){f.setTerminal(g[l],a,!0);var h=t.getCellGeometry(g[l]);h.points=null;null!=h.getTerminalPoint(!0)&&h.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var F={88:q.actions.get("selectChildren"),
+84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},y=q.onKeyDown;q.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&&c(t.getSelectionCell())&&1==t.getSelectionCount()){var d=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?b(t.getSelectionCell()):f(t.getSelectionCell()):13==a.which&&(d=p(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&t.model.isEdge(d[0])?t.setSelectionCell(t.model.getTerminal(d[0],
+!1)):t.setSelectionCell(d[d.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=F[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(t.getSelectionCell(),
+mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(E){console.log("error",E)}mxEvent.isConsumed(a)||y.apply(this,arguments)};var J=t.connectVertex;t.connectVertex=function(a,d,e,g,l,h){var k=t.getIncomingEdges(a);return c(a)&&0<k.length?(e=n(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,l=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(a):g==l?b(a):p(a,d!=mxConstants.DIRECTION_NORTH&&
+d!=mxConstants.DIRECTION_WEST)):J.call(this,a,d,e,g,l,h)};t.getSubtree=function(a){var b=[a];c(a)&&!e(a)&&t.traverse(a,!0,function(a,c){null!=c&&0>mxUtils.indexOf(b,c)&&b.push(c);0>mxUtils.indexOf(b,a)&&b.push(a);return!0});return b};var z=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){z.apply(this,arguments);c(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 D=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){D.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=
-this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",
+this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var C=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){C.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=
+this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",
 function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");
 c.vertex=!0;var d=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");d.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.relative=!0;b.edge=!0;c.insertEdge(b,!0);d.insertEdge(b,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");
 e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;c.insertEdge(g,!0);e.insertEdge(g,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");k.vertex=!0;var q=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-q.geometry.relative=!0;q.edge=!0;c.insertEdge(q,!0);k.insertEdge(q,!1);var u=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");u.vertex=!0;var w=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-w.geometry.relative=!0;w.edge=!0;c.insertEdge(w,!0);u.insertEdge(w,!1);a.insert(b);a.insert(g);a.insert(q);a.insert(w);a.insert(c);a.insert(d);a.insert(e);a.insert(k);a.insert(u);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
+q.geometry.relative=!0;q.edge=!0;c.insertEdge(q,!0);k.insertEdge(q,!1);var t=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");t.vertex=!0;var w=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+w.geometry.relative=!0;w.edge=!0;c.insertEdge(w,!0);t.insertEdge(w,!1);a.insert(b);a.insert(g);a.insert(q);a.insert(w);a.insert(c);a.insert(d);a.insert(e);a.insert(k);a.insert(t);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
 a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");a.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
 c.geometry.setTerminalPoint(new mxPoint(-40,40),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);return sb.createVertexTemplateFromCells([a,c],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");a.vertex=!0;var c=new mxCell("",new mxGeometry(0,
 0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");c.geometry.setTerminalPoint(new mxPoint(-40,40),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);return sb.createVertexTemplateFromCells([a,c],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Organization",
@@ -7767,12 +7832,12 @@ a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function
 a.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");c.geometry.setTerminalPoint(new mxPoint(0,0),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);return sb.createVertexTemplateFromCells([a,c],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 c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");c.geometry.setTerminalPoint(new mxPoint(110,-40),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);var d=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");d.vertex=!0;var 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;d.insertEdge(b,!1);return sb.createVertexTemplateFromCells([c,b,a,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
-a.formatWindow.window.fit()}function e(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
+a.formatWindow.window.fit()}function d(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
 g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom=
 "0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div");
 d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left=
 "0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}
-if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var d=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }";
+if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }";
 document.getElementsByTagName("head")[0].appendChild(c)}catch(w){}var g=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
 this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;
 mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>');
@@ -7781,10 +7846,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>')
 HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,
 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=
 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=
-25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){k.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var l=EditorUi.prototype.updateActionStates;
-EditorUi.prototype.updateActionStates=function(){l.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var n=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>d&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):n.apply(this,arguments)};var p=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){p.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
-a.style.cssText="display:inline-block;position:relative;margin-right:4px;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
-"no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var b=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){b.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
+25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){k.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var m=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=
+function(){m.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var n=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):n.apply(this,arguments)};var p=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){p.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;";
+a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";
+a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var b=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){b.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
 a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));
 b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
@@ -7792,41 +7857,41 @@ b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,functio
 mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",
 a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var h=
 EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&&
-(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);h.apply(this,arguments)};var t=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
-function(a){t.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;b.actions.get("insertText").label=mxResources.get("text");b.actions.get("insertText").label=mxResources.get("text");b.actions.get("editDiagram").label=mxResources.get("formatXml")+
+(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);h.apply(this,arguments)};var u=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
+function(a){u.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;b.actions.get("insertText").label=mxResources.get("text");b.actions.get("insertText").label=mxResources.get("text");b.actions.get("editDiagram").label=mxResources.get("formatXml")+
 "...";b.actions.get("insertRectangle").label=mxResources.get("rectangle");b.actions.get("insertEllipse").label=mxResources.get("ellipse");b.actions.get("insertRhombus").label=mxResources.get("rhombus");b.actions.get("insertImage").label=mxResources.get("image")+"...";b.actions.get("insertLink").label=mxResources.get("link")+"...";b.actions.get("createShape").label=mxResources.get("shape")+"...";b.actions.get("outline").label=mxResources.get("outline")+"...";b.actions.get("layers").label=mxResources.get("layers")+
 "...";b.actions.put("importFile",new Action("File...",function(){c.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&b.importFiles(a.files,null,null,b.maxImageSize)});a.click()}));b.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){c.popupMenuHandler.hideMenu();b.showImportCsvDialog()}));b.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a=
-new ParseDialog(b,"Insert from Text");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(b,"Insert from Text","formatSql");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){e(b)}));b.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(b)}));EditorUi.enablePlantUml&&b.actions.put("plantUml",
+new ParseDialog(b,"Insert from Text");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(b,"Insert from Text","formatSql");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){d(b)}));b.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(b)}));EditorUi.enablePlantUml&&b.actions.put("plantUml",
 new Action(mxResources.get("plantUml")+"...",function(){var a=new ParseDialog(b,"Insert from Text","plantUml");b.showDialog(a.container,620,420,!0,!1);a.init()}));this.put("diagram",new Menu(mxUtils.bind(this,function(a,c){b.menus.addSubmenu("preferences",a,c);a.addSeparator(c);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?b.menus.addMenuItems(a,"new open - save saveAs -".split(" "),c):"1"==urlParams.embed?(b.menus.addMenuItems(a,["-","save"],c),"1"==urlParams.saveAndExit&&b.menus.addMenuItems(a,
 ["saveAndExit"],c),a.addSeparator(c)):(b.menus.addMenuItems(a,["new"],c),b.menus.addSubmenu("openFrom",a,c),a.addSeparator(c),b.menus.addSubmenu("save",a,c));b.menus.addSubmenu("exportAs",a,c);var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile&&(b.menus.addMenuItems(a,["-","share"],c),null!=d.realtime&&b.menus.addMenuItems(a,["chatWindowTitle"],c),a.addSeparator(c));b.menus.addMenuItems(a,"- outline layers - find tags -".split(" "),c);mxClient.IS_IOS&&navigator.standalone||b.menus.addMenuItems(a,
-["-","print","-"],c);b.menus.addSubmenu("help",a,c);"1"==urlParams.embed?b.menus.addMenuItems(a,["-","exit"],c):b.menus.addMenuItems(a,["-","close"])})));if(isLocalStorage){var d=this.get("openFrom"),f=d.funct;d.funct=function(a,c){f.apply(this,arguments);a.addSeparator(c);b.menus.addSubmenu("openRecent",a,c)}}this.put("save",new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile?b.menus.addMenuItems(a,["createRevision","makeCopy","-","rename","moveToFolder"],
+["-","print","-"],c);b.menus.addSubmenu("help",a,c);"1"==urlParams.embed?b.menus.addMenuItems(a,["-","exit"],c):b.menus.addMenuItems(a,["-","close"])})));if(isLocalStorage){var e=this.get("openFrom"),f=e.funct;e.funct=function(a,c){f.apply(this,arguments);a.addSeparator(c);b.menus.addSubmenu("openRecent",a,c)}}this.put("save",new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile?b.menus.addMenuItems(a,["createRevision","makeCopy","-","rename","moveToFolder"],
 c):b.menus.addMenuItems(a,["save","saveAs","-","rename","makeCopy"],c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||b.menus.addMenuItems(a,["-","revisionHistory"],c);b.menus.addMenuItems(a,["-","autosave"],c)})));var g=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(a,c){g.funct(a,c);a.addSeparator(c);b.menus.addSubmenu("embed",a,c);b.menus.addMenuItems(a,["publishLink"],c)})));var h=this.get("language");this.put("preferences",new Menu(mxUtils.bind(this,
 function(a,c){"1"!=urlParams.embed&&b.menus.addSubmenu("theme",a,c);null!=h&&b.menus.addSubmenu("language",a,c);a.addSeparator(c);b.menus.addMenuItems(a,["scrollbars","tooltips","pageScale"],c);"1"!=urlParams.embed&&isLocalStorage&&b.menus.addMenuItems(a,["-","search","scratchpad","-","showStartScreen"],c);b.isOfflineApp()||"1"==urlParams.embed||b.menus.addMenuItems(a,["-","plugins"],c)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"importText createShape plantUml - importCsv editDiagram formatSql - insertPage".split(" "),
 c)})));mxResources.parse("insertLayout="+mxResources.get("layout"));mxResources.parse("insertAdvanced="+mxResources.get("advanced"));this.put("insert",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),c);b.menus.addSubmenu("importFrom",a,c);a.addSeparator(c);b.menus.addSubmenu("insertLayout",a,c);b.menus.addSubmenu("insertAdvanced",a,c)})));var k="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),
-l=function(a,c,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(b,d,e);b.showDialog(a.container,620,420,!0,!1);a.init()}),c)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):l(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "),
-c)})))};var u=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=k.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c?
+m=function(a,c,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(b,d,e);b.showDialog(a.container,620,420,!0,!1);a.init()}),c)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):m(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "),
+c)})))};var t=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=k.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c?
 (g.style.backgroundImage="url("+c+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px",g.innerHTML="",mxUtils.setOpacity(g,d||40)):b||(g.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",g.style.backgroundPosition="right 6px center",g.style.backgroundRepeat="no-repeat",g.style.paddingRight="22px");return g}function b(a,b,c,d,e,f){var g=document.createElement("a");g.setAttribute("href","javascript:void(0)");
 g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";h.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&&
 b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);mxUtils.setOpacity(g,null!=f?40:100);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),mxUtils.setOpacity(g,null!=f?40:100),g.style.cursor=""):(g.setAttribute("disabled","disabled"),mxUtils.setOpacity(g,null!=f?10:20),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function c(a){var b=document.createElement("div");b.className="geMenuItem";b.style.display="inline-block";
-b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}u.apply(this,arguments);var e=document.createElement("div");e.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";e.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?
-"63px":"32px";this.sidebar=this.createSidebar(e);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var k=new Menubar(f,h);(e=900>d)||a("diagram");c([e?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
-100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+
-" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
-null)]);var l=a("insert",!0,e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([l,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
-null)]);if(480<=d){var n=f.actions.get("undo"),e=f.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),e=b("",e.funct,
-null,mxResources.get("redo")+" ("+e.shortcut+")",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,e]);if(560<=d){var e=f.actions.get("zoomIn"),n=f.actions.get("zoomOut"),p=f.actions.get("resetView");
+b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}t.apply(this,arguments);var d=document.createElement("div");d.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";d.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?
+"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var k=new Menubar(f,h);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
+100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+
+" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
+null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
+null)]);if(480<=e){var n=f.actions.get("undo"),d=f.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct,
+null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,d]);if(560<=e){var d=f.actions.get("zoomIn"),n=f.actions.get("zoomOut"),p=f.actions.get("resetView");
 c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
-640<=d?b("",e.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
-null,640<=d?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
+640<=e?b("",d.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
+null,640<=e?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
 null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var q=f.descriptorChanged;f.descriptorChanged=function(){q.apply(this,arguments);var a=f.getCurrentFile();
 if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);h.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else h.removeAttribute("title")};f.setStatusText(f.editor.getStatus());h.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";h.appendChild(f.buttonContainer);f.menubarContainer=
-f.buttonContainer;e=this.menus.get("language");null!=e&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=d&&(l=k.addMenu("",e.funct),l.setAttribute("title",mxResources.get("language")),l.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
-l.style.backgroundPosition="center center",l.style.backgroundRepeat="no-repeat",l.style.backgroundSize="24px 24px",l.style.position="absolute",l.style.height="24px",l.style.width="24px",l.style.zIndex="1",l.style.top="11px",l.style.right="14px",mxUtils.setOpacity(l,30),h.appendChild(l));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
-e=f.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";p=f.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";l=k.addMenu("100%",p.funct);l.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");l.style.whiteSpace="nowrap";l.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";l.style.backgroundPosition=
-"right 6px center";l.style.backgroundRepeat="no-repeat";l.style.paddingRight="10px";l.style.display="block";l.style.position="absolute";l.style.textDecoration="none";l.style.textDecoration="none";l.style.right="0px";l.style.bottom="0px";l.style.overflow="hidden";l.style.textAlign="center";l.style.color="#000";l.style.fontSize="12px";l.style.color="#707070";l.style.width="59px";l.style.borderTop="1px solid lightgray";l.style.borderLeft="1px solid lightgray";l.style.height=parseInt(f.tabContainer.style.height)-
-1+"px";l.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";n.appendChild(l);p=mxUtils.bind(this,function(){l.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);f.editor.addListener("resetGraphView",p);f.editor.addListener("pageSelected",p);var t=f.setGraphEnabled;f.setGraphEnabled=function(){t.apply(this,arguments);null!=this.tabContainer&&(l.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(f.tabContainer);
-n.appendChild(h);n.appendChild(f.diagramContainer);e.appendChild(n);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var e=EditorUi.initTheme;EditorUi.initTheme=function(){e.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
+f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(m=k.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
+m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),h.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
+d=f.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";p=f.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";m=k.addMenu("100%",p.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition=
+"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
+1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";n.appendChild(m);p=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);f.editor.addListener("resetGraphView",p);f.editor.addListener("pageSelected",p);var u=f.setGraphEnabled;f.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(f.tabContainer);
+n.appendChild(h);n.appendChild(f.diagramContainer);d.appendChild(n);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var d=EditorUi.initTheme;EditorUi.initTheme=function(){d.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
 Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;
 (function(){function c(a){var b=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==b&&null!=a.State?null!=a.State.t&&(b=a.State):null==b&&null!=a.Note?null!=a.Note.t&&(b=a.Note):null==b&&null!=a.Title?null!=a.Title.t&&(b=a.Title):null!=a.t&&(b=a);null==b&&null!=a.TextAreas&&null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(b=a.TextAreas.Text.Value);if(null!=b){if(null!=b.t)return b.t=b.t.replace(/</g,"&lt;"),b.t=b.t.replace(/>/g,"&gt;"),b.t;if(null!=b.Value&&
 null!=b.Value.t)return b.Value.t=b.Value.t.replace(/</g,"&lt;"),b.Value.t=b.Value.t.replace(/>/g,"&gt;"),b.Value.t}return""}function m(a){return null!=a.Action?a.Action:a}function w(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else if(null!=a.m)return a.m;return null}function l(c){return h(c)+f(c)+b(c)+a(c)+d(c)+g(c)+p(c)+D(c)+C(c)+y(c)}function h(a){a=
diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js
index 384fa14965594505fd7aba5fb4e80970a0e38784..4c940cf890e06bfe1a69e6b0d8956245c464c528 100644
--- a/src/main/webapp/js/diagramly/Dialogs.js
+++ b/src/main/webapp/js/diagramly/Dialogs.js
@@ -2520,7 +2520,7 @@ var ParseDialog = function(editorUi, title, defaultType)
 					editorUi.editor.graph.getModel().endUpdate();
 				}
 
-				editorUi.editor.graph.setSelectionCells(inserted[0]);
+				editorUi.editor.graph.setSelectionCells(inserted);
 				editorUi.editor.graph.scrollCellToVisible(editorUi.editor.graph.getSelectionCell());
 				graph.destroy();
 				container.parentNode.removeChild(container);
@@ -2538,11 +2538,20 @@ var ParseDialog = function(editorUi, title, defaultType)
 	textarea.style.marginBottom = '16px';
 	
 	var typeSelect = document.createElement('select');
+	
+	if (defaultType == 'formatSql')
+	{
+		typeSelect.style.display = 'none';
+	}
 
 	var listOption = document.createElement('option');
 	listOption.setAttribute('value', 'list');
 	mxUtils.write(listOption, mxResources.get('list'));
-	typeSelect.appendChild(listOption);
+	
+	if (defaultType != 'plantUml')
+	{
+		typeSelect.appendChild(listOption);
+	}
 
 	if (defaultType == null || defaultType == 'fromText')
 	{
@@ -2552,17 +2561,21 @@ var ParseDialog = function(editorUi, title, defaultType)
 	var tableOption = document.createElement('option');
 	tableOption.setAttribute('value', 'table');
 	mxUtils.write(tableOption, mxResources.get('formatSql'));
-	typeSelect.appendChild(tableOption);
 	
 	if (defaultType == 'formatSql')
 	{
+		typeSelect.appendChild(tableOption);
 		tableOption.setAttribute('selected', 'selected');
 	}
 	
 	var diagramOption = document.createElement('option');
 	diagramOption.setAttribute('value', 'diagram');
 	mxUtils.write(diagramOption, mxResources.get('diagram'));
-	typeSelect.appendChild(diagramOption);
+	
+	if (defaultType != 'plantUml')
+	{
+		typeSelect.appendChild(diagramOption);
+	}
 		
 	var plantUmlSvgOption = document.createElement('option');
 	plantUmlSvgOption.setAttribute('value', 'plantUmlSvg');
@@ -2582,7 +2595,8 @@ var ParseDialog = function(editorUi, title, defaultType)
 	mxUtils.write(plantUmlTxtOption, mxResources.get('plantUml') + ' (' + mxResources.get('text') + ')');
 	
 	// Disabled for invalid hosts via CORS headers
-	if (EditorUi.enablePlantUml && Graph.fileSupport && !editorUi.isOffline())
+	if (EditorUi.enablePlantUml && Graph.fileSupport &&
+		!editorUi.isOffline() && defaultType == 'plantUml')
 	{
 		typeSelect.appendChild(plantUmlSvgOption);
 		typeSelect.appendChild(plantUmlPngOption);
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index 52f016bc05d6a0305c79c94f855f517c9bdf5078..04509f8f30ff6d8aa2261558866acc6e16f7fcb5 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -122,11 +122,6 @@
 	 */
 	EditorUi.prototype.closableScratchpad = true;
 	
-	/**
-	 * Specifies if PDF export with pages is enabled.
-	 */
-	EditorUi.prototype.showCsvImport = true;
-
 	/**
 	 * Capability check for canvas export
 	 */
@@ -159,8 +154,7 @@
 			   		var ctx = canvas.getContext('2d');
 			   		ctx.drawImage(img, 0, 0);
 
-			   		// Works in Chrome, Firefox, Edge and Opera
-					// LATER: Fix security error caused by foreignObjects in Safari for toDataUri (tainted canvas)
+			   		// Works in Chrome, Firefox, Edge, Safari and Opera
 					var result = canvas.toDataURL('image/png');
 					EditorUi.prototype.useCanvasForExport = result != null && result.length > 6;
 				}
@@ -3025,7 +3019,6 @@
 	 */
 	EditorUi.prototype.isExportToCanvas = function()
 	{
-		// LATER: Fix security error caused by foreignObjects in Safari for toDataUri (tainted canvas)
 		return mxClient.IS_CHROMEAPP || (!this.editor.graph.mathEnabled && this.useCanvasForExport);
 	};
 
@@ -6435,7 +6428,7 @@
                 }
             }));
         }
-		else if  (file != null && filename != null && ((/(\.vsdx?)($|\?)/i.test(filename)) || /(\.vssx)($|\?)/i.test(filename)))
+		else if (file != null && filename != null && ((/(\.vsdx?)($|\?)/i.test(filename)) || /(\.vssx)($|\?)/i.test(filename)))
 		{
 			//  LATER: done and async are a hack before making this asynchronous
 			async = true;
@@ -8649,15 +8642,15 @@
 									{
 										this.openLocalFile(this.emptyDiagramXml, this.defaultFilename, temp);
 									}
-									
-					    				try
-						    			{
-					    					this.loadLibrary(new LocalLibrary(this, xml, name));
-						    			}
-					    				catch (e)
-						    			{
-						    				this.handleError(e, mxResources.get('errorLoadingFile'));
-						    			}
+								
+				    				try
+					    			{
+				    					this.loadLibrary(new LocalLibrary(this, xml, name));
+					    			}
+				    				catch (e)
+					    			{
+					    				this.handleError(e, mxResources.get('errorLoadingFile'));
+					    			}
 								}
 								else
 								{
@@ -8689,8 +8682,8 @@
 										else
 										{
 											this.handleError({message: mxResources.get((xhr.status == 413) ?
-				            						'drawingTooLarge' : 'invalidOrMissingFile')},
-				            						mxResources.get('errorLoadingFile'));
+			            						'drawingTooLarge' : 'invalidOrMissingFile')},
+			            						mxResources.get('errorLoadingFile'));
 										}
 									}
 								}));
@@ -8711,7 +8704,7 @@
 								}));
 							}
 							else if (e.target.result.substring(0, 10) == '<mxlibrary')
-			    				{
+			    			{
 								this.spinner.stop();
 								
 								// Creates new temporary file if library is dropped in splash screen
@@ -8719,16 +8712,16 @@
 								{
 									this.openLocalFile(this.emptyDiagramXml, this.defaultFilename, temp);
 								}
-									
-				    				try
-					    			{
-					    				this.loadLibrary(new LocalLibrary(this, e.target.result, file.name));
-					    			}
-					    			catch (e)
-					    			{
-					    				this.handleError(e, mxResources.get('errorLoadingFile'));
-					    			}
+								
+			    				try
+				    			{
+				    				this.loadLibrary(new LocalLibrary(this, e.target.result, file.name));
 				    			}
+				    			catch (e)
+				    			{
+				    				this.handleError(e, mxResources.get('errorLoadingFile'));
+				    			}
+			    			}
 							else
 							{
 								if (file.type.substring(0, 9) == 'image/png')
diff --git a/src/main/webapp/js/diagramly/Menus.js b/src/main/webapp/js/diagramly/Menus.js
index ce6e3def319974c1336992f03428dc9bf534e83d..a2f69b4bd656ca72e6624d05be226e91a9746078 100644
--- a/src/main/webapp/js/diagramly/Menus.js
+++ b/src/main/webapp/js/diagramly/Menus.js
@@ -1709,14 +1709,6 @@
 					dlg.init();
 				}, parent);
 			}
-
-			if (editorUi.showCsvImport)
-			{
-				menu.addItem(mxResources.get('csv') + '...', null, function()
-				{
-					editorUi.showImportCsvDialog();
-				}, parent);
-			}
 		})).isEnabled = isGraphEnabled;
 
 		this.put('theme', new Menu(mxUtils.bind(this, function(menu, parent)
@@ -1962,9 +1954,6 @@
 			}
 		})));
 
-		var methods = ['horizontalFlow', 'verticalFlow', '-', 'horizontalTree', 'verticalTree', 'radialTree', '-',
-			'organic', 'circle', '-', 'fromText', 'plantUml', 'formatSql'];
-
 		var addInsertItem = function(menu, parent, title, method)
 		{
 			if (method != 'plantUml' || EditorUi.enablePlantUml)
@@ -1994,28 +1983,28 @@
 			var pt = (graph.isMouseInsertPoint()) ? graph.getInsertPoint() : graph.getFreeInsertPoint();
 			var cell = new mxCell(value, new mxGeometry(pt.x, pt.y, w, h), style);
 			cell.vertex = true;
-			
-        		graph.getModel().beginUpdate();
-        		try
-        	    {
-        			cell = graph.addCell(cell);
-        	    		graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [cell]));
-        	    }
-        		finally
-        		{
-        			graph.getModel().endUpdate();
-        		}
-			
-        		graph.scrollCellToVisible(cell);
-        		graph.setSelectionCell(cell);
-        		graph.container.focus();
-
-        		if (graph.editAfterInsert)
-        		{
-        	        graph.startEditing(cell);
-        		}
-        		
-    	    	return cell;
+		
+    		graph.getModel().beginUpdate();
+    		try
+    	    {
+    			cell = graph.addCell(cell);
+    	    	graph.fireEvent(new mxEventObject('cellsInserted', 'cells', [cell]));
+    	    }
+    		finally
+    		{
+    			graph.getModel().endUpdate();
+    		}
+		
+    		graph.scrollCellToVisible(cell);
+    		graph.setSelectionCell(cell);
+    		graph.container.focus();
+
+    		if (graph.editAfterInsert)
+    		{
+    	        graph.startEditing(cell);
+    		}
+    		
+	    	return cell;
 		};
 		
 		editorUi.actions.addAction('insertText', function()
@@ -2051,11 +2040,8 @@
 			}
 		}).isEnabled = isGraphEnabled;
 		
-		this.put('insert', new Menu(mxUtils.bind(this, function(menu, parent)
+		var addInsertMenuItems = mxUtils.bind(this, function(menu, parent, methods)
 		{
-			this.addMenuItems(menu, ['insertText', 'insertRectangle', '-', 'insertEllipse', 'insertRhombus', '-', 'insertLink', 'insertImage'], parent);
-			menu.addSeparator(parent);
-			
 			for (var i = 0; i < methods.length; i++)
 			{
 				if (methods[i] == '-')
@@ -2067,6 +2053,25 @@
 					addInsertItem(menu, parent, mxResources.get(methods[i]) + '...', methods[i]);
 				}
 			}
+		});
+
+		this.put('insert', new Menu(mxUtils.bind(this, function(menu, parent)
+		{
+			this.addMenuItems(menu, ['insertText', 'insertRectangle', '-', 'insertEllipse', 'insertRhombus', '-', 'insertLink', 'insertImage'], parent);
+			menu.addSeparator(parent);
+			this.addSubmenu('layout', menu, parent);
+			menu.addSeparator(parent);
+			addInsertMenuItems(menu, parent, ['fromText', 'plantUml', '-', 'formatSql']);
+			menu.addItem(mxResources.get('csv') + '...', null, function()
+			{
+				editorUi.showImportCsvDialog();
+			}, parent);
+		})));
+
+		this.put('layout', new Menu(mxUtils.bind(this, function(menu, parent)
+		{
+			addInsertMenuItems(menu, parent, ['horizontalFlow', 'verticalFlow', '-', 'horizontalTree',
+				'verticalTree', 'radialTree', '-', 'organic', 'circle']);
 		})));
 
 		this.put('openRecent', new Menu(function(menu, parent)
diff --git a/src/main/webapp/js/diagramly/Minimal.js b/src/main/webapp/js/diagramly/Minimal.js
index 3cdf5d5ee6229bb2461b4e8271bf75e423e8cc94..c3dac8074f3b4c4c2f9d229d350179f83a16e9fe 100644
--- a/src/main/webapp/js/diagramly/Minimal.js
+++ b/src/main/webapp/js/diagramly/Minimal.js
@@ -311,7 +311,6 @@ EditorUi.initMinimalTheme = function()
     HoverIcons.prototype.inactiveOpacity = 25;
     Format.prototype.showCloseButton = false;
 	EditorUi.prototype.closableScratchpad = false;
-	EditorUi.prototype.showCsvImport = false;
     EditorUi.prototype.footerHeight = 0;
 	Graph.prototype.editAfterInsert = true;
 
diff --git a/src/main/webapp/js/diagramly/Pages.js b/src/main/webapp/js/diagramly/Pages.js
index d385ee13084def5d138f02aac4065cc3d03943fd..3c8707629bd1417a5f350012d0bd7da25b1ebdb2 100644
--- a/src/main/webapp/js/diagramly/Pages.js
+++ b/src/main/webapp/js/diagramly/Pages.js
@@ -446,7 +446,7 @@ Graph.prototype.createViewState = function(node)
 		tooltips: node.getAttribute('tooltips') != '0',
 		connect: node.getAttribute('connect') != '0',
 		arrows: node.getAttribute('arrows') != '0',
-		mathEnabled: node.getAttribute('math') != '0',
+		mathEnabled: node.getAttribute('math') == '1',
 		selectionCells: null,
 		defaultParent: null,
 		scrollbars: this.defaultScrollbars,
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3.js
index 3d60f81874c0901a2be0963f779fa08e3f06b078..3cf3d6f822dbef95aa8c70af6de33c8e5fe2e47c 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3.js
@@ -30,7 +30,7 @@
 	Sidebar.prototype.addAWS3AnalyticsPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service analytics';
 		var s = 1.5; //scale
@@ -87,7 +87,7 @@
 	Sidebar.prototype.addAWS3ApplicationServicesPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service app application services';
 		var s = 1.5; //scale
@@ -112,7 +112,7 @@
 	Sidebar.prototype.addAWS3ArtificialIntelligencePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service ai artificial intelligence';
 		var s = 1.5; //scale
@@ -133,7 +133,7 @@
 	Sidebar.prototype.addAWS3BusinessProductivityPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service business productivity';
 		var s = 1.5; //scale
@@ -152,7 +152,7 @@
 	Sidebar.prototype.addAWS3ComputePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service compute';
 		var s = 1.5; //scale
@@ -259,7 +259,7 @@
 	Sidebar.prototype.addAWS3ContactCenterPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service contact center';
 		var s = 1.5; //scale
@@ -274,7 +274,7 @@
 	Sidebar.prototype.addAWS3DatabasePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service db database';
 		var s = 1.5; //scale
@@ -349,7 +349,7 @@
 	Sidebar.prototype.addAWS3DesktopAndAppStreamingPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service desktop app streaming application';
 		var s = 1.5; //scale
@@ -366,7 +366,7 @@
 	Sidebar.prototype.addAWS3DeveloperToolsPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service dev developer tools';
 		var s = 1.5; //scale
@@ -391,7 +391,7 @@
 	Sidebar.prototype.addAWS3GameDevelopmentPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service game development';
 		var s = 1.5; //scale
@@ -406,7 +406,7 @@
 	Sidebar.prototype.addAWS3GeneralPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service general';
 		var s = 1.5; //scale
@@ -543,7 +543,7 @@
 	Sidebar.prototype.addAWS3InternetOfThingsPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service iot internet of things';
 		var s = 1.5; //scale
@@ -642,7 +642,7 @@
 	Sidebar.prototype.addAWS3ManagementToolsPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service management tools';
 		var s = 1.5; //scale
@@ -729,7 +729,7 @@
 	Sidebar.prototype.addAWS3MessagingPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service messaging';
 		var s = 1.5; //scale
@@ -762,7 +762,7 @@
 	Sidebar.prototype.addAWS3MigrationPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service migration';
 		var s = 1.5; //scale
@@ -789,7 +789,7 @@
 	Sidebar.prototype.addAWS3MobileServicesPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service mobile services';
 		var s = 1.5; //scale
@@ -814,7 +814,7 @@
 	Sidebar.prototype.addAWS3NetworkAndContentDeliveryPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service network and content delivery';
 		var s = 1.5; //scale
@@ -875,7 +875,7 @@
 	Sidebar.prototype.addAWS3OnDemandWorkforcePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service on demand workforce';
 		var s = 1.5; //scale
@@ -898,7 +898,7 @@
 	Sidebar.prototype.addAWS3SDKPalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service sdk software development kit';
 		var s = 1.5; //scale
@@ -939,7 +939,7 @@
 	Sidebar.prototype.addAWS3SecurityIdentityAndCompliancePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service security and identity compliance';
 		var s = 1.5; //scale
@@ -1002,7 +1002,7 @@
 	Sidebar.prototype.addAWS3StoragePalette = function()
 	{
 		var sb = this;
-		var n = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
+		var n = 'dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws3.";
 		var gn = 'mxgraph.aws3';
 		var dt = 'aws group amazon web service storage';
 		var s = 1.5; //scale
@@ -1047,7 +1047,4 @@
 					 s * 35, s * 50, '', 'EBS', null, null, this.getTagsForStencil(gn, 'ebs', dt).join(' '))
 		]);
 	};
-	
-	
-	
 })();
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3D.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3D.js
index 7b1450f00f34a54a48a386f71b003b4e7680445f..9315053b5787d0c21f8e4ca6c0f6340c7df6f995 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3D.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-AWS3D.js
@@ -5,7 +5,7 @@
 	{
 		var w = 100;
 		var h = 100;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_STROKEWIDTH + '=1;dashed=0;shape=mxgraph.aws3d.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_STROKEWIDTH + '=1;align=center;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.';
 		var gn = 'mxgraph.aws3d';
 		var dt = 'aws 3d amazon web service';
 
@@ -47,24 +47,21 @@
 					w * 0.92, h * 0.8817, '', 'Elastic Load Balancing', null, null, this.getTagsForStencil(gn, 'elastic load balancing elb', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'elasticMapReduce;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 1.23, h * 1.33, '', 'Elastic MapReduce', null, null, this.getTagsForStencil(gn, 'elastic mapreduce', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'elasticache;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
-//					w * 1.23, h * 1.43, '', 'Elasticache', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
 					
 		   	this.addEntry(dt + 'elasticache', function()
-			   		{
-					   	var bg1 = new mxCell('', new mxGeometry(70, 0, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
-					   	bg1.vertex = true;
-					   	var bg2 = new mxCell('', new mxGeometry(0, 40, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
-					   	bg2.vertex = true;
-					   	var bg3 = new mxCell('', new mxGeometry(140, 40, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
-					   	bg3.vertex = true;
-					   	var bg4 = new mxCell('', new mxGeometry(70, 80, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
-					   	bg4.vertex = true;
-						
-				   		return sb.createVertexTemplateFromCells([bg1, bg2, bg3, bg4], 264, 204, 'Elasticache');
-					}),
-					
-					
+	   		{
+			   	var bg1 = new mxCell('', new mxGeometry(70, 0, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
+			   	bg1.vertex = true;
+			   	var bg2 = new mxCell('', new mxGeometry(0, 40, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
+			   	bg2.vertex = true;
+			   	var bg3 = new mxCell('', new mxGeometry(140, 40, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
+			   	bg3.vertex = true;
+			   	var bg4 = new mxCell('', new mxGeometry(70, 80, 123, 124), s + 'application_server;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;');
+			   	bg4.vertex = true;
+				
+		   		return sb.createVertexTemplateFromCells([bg1, bg2, bg3, bg4], 264, 204, 'Elasticache');
+			}),
+	
 			this.createVertexTemplateEntry(s + 'email;aspect=fixed;strokeColor=#292929;fillColor=#ffffff;', 
 					w * 0.43, h * 0.57, '', 'Email', null, null, this.getTagsForStencil(gn, 'email', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'email_service;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
@@ -77,8 +74,6 @@
 					w * 0.5, h * 0.86, '', 'Image/Video', null, null, this.getTagsForStencil(gn, 'image video', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'internetGateway;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 1.167, h * 1.028, '', 'Internet Gateway', null, null, this.getTagsForStencil(gn, 'internet gateway', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'kinesisStream;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
-//					w * 2.2, h * 1.6, '', 'Kinesis Stream', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'lambda;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 0.92, h * 1.095, '', 'Lambda', null, null, this.getTagsForStencil(gn, 'lambda', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'mobile_worker;aspect=fixed;strokeColor=none;fillColor=#777777;', 
@@ -119,14 +114,10 @@
 					w * 1.23, h * 0.97, '', 'Spot Instance', null, null, this.getTagsForStencil(gn, 'spot instance', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'sqs;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 1.84, h * 2.1275, '', 'SQS', null, null, this.getTagsForStencil(gn, 'sqs', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'sqs2;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
-//					w * 1.6, h * 0.93, '', 'SQS', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'end_user;strokeColor=none;fillColor=#777777;aspect=fixed;', 
 					w * 0.49, h * 1.0046, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'vpcGateway;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 1.167, h * 1.028, '', 'VPC Gateway', null, null, this.getTagsForStencil(gn, 'vpc gateway', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'webServer;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
-//					w * 1.23, h * 1.06, '', 'Web Server', null, null, this.getTagsForStencil(gn, '', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'worker;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
 					w * 0.74, h * 0.5, '', 'Worker', null, null, this.getTagsForStencil(gn, 'worker', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'workflowService;fillColor=#ECECEC;strokeColor=#5E5E5E;aspect=fixed;', 
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-ArchiMate3.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-ArchiMate3.js
index 91836c2828d859b5acc10d6e2d35bd43e58a9a50..cfabb187ae7d537701f649263e71710820867270 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-ArchiMate3.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-ArchiMate3.js
@@ -77,6 +77,7 @@
 	Sidebar.prototype.addArchimate3BusinessPalette = function()
 	{
 		var am2 = 'html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;shape=mxgraph.archimate3.';
+		var am3 = 'html=1;whiteSpace=wrap;fillColor=#ffff99;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.archimate3.';
 
 		// Space savers
 		var sb = this;
@@ -90,7 +91,7 @@
 		[
 			this.createVertexTemplateEntry(am2 + 'application;appType=actor;archiType=square;', 
 					w * 150, h * 75, '', 'Business Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')),
-			this.createVertexTemplateEntry(am2 + 'actor;', 
+			this.createVertexTemplateEntry(am3 + 'actor;', 
 					w * 50, h * 95, '', 'Actor', null, null, this.getTagsForStencil(gn, '', dt + 'actor').join(' ')),
 			this.createVertexTemplateEntry(am2 + 'application;appType=role;archiType=square;', 
 					w * 150, h * 75, '', 'Business Role', null, null, this.getTagsForStencil(gn, '', dt + 'role').join(' ')),
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Azure.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Azure.js
index 86376b62b948d5b75ab752f45a2280b0e84c3aba..7a56bb8d37c0b0d5c114716e0802e6d2f835ec54 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Azure.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Azure.js
@@ -4,7 +4,7 @@
 	{
 		var w = 50;
 		var h = 50;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;strokeColor=none;fillColor=#00BEF2;shape=mxgraph.azure.';
 		var gn = 'mxgraph.azure';
 		var dt = '';
 		
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-BPMN.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-BPMN.js
index 4bcff8cb4886792e3e50ca12d09cba9fabc28bbd..6ca1490d538bae586e0c75213a6cd97454929ee1 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-BPMN.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-BPMN.js
@@ -10,7 +10,7 @@
 		var w = 50;
 		var h = 50;
 
-		var s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;';
+		var s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=rhombusPerimeter;background=gateway;outlineConnect=0;';
 		//default tags
 		var dt = 'bpmn business process model gateway ';
 		
@@ -100,7 +100,7 @@
 			this.createVertexTemplateEntry(s + 'outline=end;symbol=terminate;', w, h, '', 'Terminate Gateway', null, null, dt + 'terminate')
 		]);
 		
-		s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;perimeter=ellipsePerimeter;outlineConnect=0;';
+		s = 'shape=mxgraph.bpmn.shape;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;align=center;perimeter=ellipsePerimeter;outlineConnect=0;';
 		var dt = 'bpmn business process model event ';
 		
 		this.addPaletteFunctions('bpmnEvents', 'BPMN Events', false,
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-CiscoSafe.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-CiscoSafe.js
index d278f7f2d9e6134b3bafd0a745a82491a9113e5a..5d0b278803b950fb736212b421122d838babfea7 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-CiscoSafe.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-CiscoSafe.js
@@ -13,7 +13,7 @@
 	{
 		var w = 50;
 		var h = 50;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#6ABD46;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;shape=mxgraph.cisco_safe.architecture.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#6ABD46;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.cisco_safe.architecture.';
 		var gn = 'mxgraph.cisco_safe.architecture';
 		var dt = 'cisco safe architecture';
 
@@ -94,7 +94,7 @@
 	{
 		var w = 50;
 		var h = 50;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#28A8E0;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;shape=mxgraph.cisco_safe.capability.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#28A8E0;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.cisco_safe.capability.';
 		var gn = 'mxgraph.cisco_safe.capability';
 		var dt = 'cisco safe capability';
 
@@ -219,7 +219,7 @@
 	{
 		var w = 50;
 		var h = 50;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#A153A0;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;shape=mxgraph.cisco_safe.design.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#A153A0;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.cisco_safe.design.';
 		var gn = 'mxgraph.cisco_safe.design';
 		var dt = 'cisco safe design';
 
@@ -332,7 +332,7 @@
 	{
 		var w = 50;
 		var h = 50;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#F06650;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;shape=mxgraph.cisco_safe.threat.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;fillColor=#F06650;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;align=center;shape=mxgraph.cisco_safe.threat.';
 		var gn = 'mxgraph.cisco_safe.threat';
 		var dt = 'cisco safe threat';
 
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Citrix.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Citrix.js
index f9f27428f35b7c457e0b09622fe8032a54120c31..539c76c9462aac19e37cf060772be4767b4452eb 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Citrix.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Citrix.js
@@ -4,7 +4,7 @@
 	{
 		var w = 0.5;
 		var h = 0.5;
-		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;aspect=fixed;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;strokeColor=none;outlineConnect=0;shape=mxgraph.citrix.';
+		var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;aspect=fixed;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;strokeColor=none;align=center;outlineConnect=0;shape=mxgraph.citrix.';
 		var gn = 'mxgraph.citrix';
 		var dt = '';
 		
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Gmdl.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Gmdl.js
index 8b0c644992060b7eff41a8595cd5a25f6c178ad2..b5f1b2feeff5c6e7f9e36b04286bb09f3cdd0695 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Gmdl.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Gmdl.js
@@ -648,7 +648,7 @@
 	
 	Sidebar.prototype.addGMDLIconsPalette = function(expand)
 	{
-		var s2 = "dashed=0;aspect=fixed;shape=mxgraph.gmdl.";
+		var s2 = "dashed=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.";
 		var gn = 'mxgraph.gmdl';
 		var dt = 'gmdl google media design library icon ';
 		var sb = this;
@@ -916,7 +916,7 @@
 	Sidebar.prototype.addGMDLSelectionControlsPalette = function(expand)
 	{
 		var s = "dashed=0;shape=";
-		var s2 = "dashed=0;shape=mxgraph.gmdl.";
+		var s2 = "dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.";
 		var gn = 'mxgraph.gmdl';
 		var dt = 'gmdl google media design library selection control ';
 		var sb = this;
@@ -930,7 +930,7 @@
 			}),
 			this.addEntry(dt + 'checkbox on focused pressed light dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;');
 				part1.vertex = true;
@@ -945,7 +945,7 @@
 			}),
 			this.addEntry(dt + 'checkbox on disabled focused light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;');
 				part1.vertex = true;
@@ -960,7 +960,7 @@
 			}),
 			this.addEntry(dt + 'checkbox off focused pressed light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -975,7 +975,7 @@
 			}),
 			this.addEntry(dt + 'checkbox off disabled focused light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -990,7 +990,7 @@
 			}),
 			this.addEntry(dt + 'checkbox on disabled focused dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;');
 				part1.vertex = true;
@@ -1005,7 +1005,7 @@
 			}),
 			this.addEntry(dt + 'checkbox off focused pressed dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1020,7 +1020,7 @@
 			}),
 			this.addEntry(dt + 'checkbox off disabled focused dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1035,7 +1035,7 @@
 			}),
 			this.addEntry(dt + 'radio button on focused pressed light dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#009587;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;');
 				part1.vertex = true;
@@ -1050,7 +1050,7 @@
 			}),
 			this.addEntry(dt + 'radio button on disabled focused light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;');
 				part1.vertex = true;
@@ -1065,7 +1065,7 @@
 			}),
 			this.addEntry(dt + 'radio button off focused pressed light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1080,7 +1080,7 @@
 			}),
 			this.addEntry(dt + 'radio button off disabled focused light', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1095,7 +1095,7 @@
 			}),
 			this.addEntry(dt + 'radio button on disabled focused dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;');
 				part1.vertex = true;
@@ -1110,7 +1110,7 @@
 			}),
 			this.addEntry(dt + 'radio button off focused pressed dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1125,7 +1125,7 @@
 			}),
 			this.addEntry(dt + 'radio button off disabled focused dark', function()
 			{
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;strokeColor=none;fillColor=#666666;opacity=10;');
+				var bg1 = new mxCell('', new mxGeometry(0, 0, 48, 48), 'shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;');
 				bg1.vertex = true;
 				var part1 = new mxCell('', new mxGeometry(16, 16, 16, 16), s2 + 'radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;');
 				part1.vertex = true;
@@ -1164,7 +1164,7 @@
 	Sidebar.prototype.addGMDLSlidersPalette = function(expand)
 	{
 		var s = "dashed=0;shape=";
-		var s2 = "dashed=0;shape=mxgraph.gmdl.";
+		var s2 = "dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.";
 		var gn = 'mxgraph.gmdl';
 		var dt = 'gmdl google media design library slider ';
 		var sb = this;
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Ios7.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Ios7.js
index 64d398931a7c2fa9465a218f2b657c0922ad6766..9f7e25953d064bb5f4ba29da389202a60636c6e5 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Ios7.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Ios7.js
@@ -14,7 +14,7 @@
 		//default tags
 		var dt = 'ios icon ';
 		
-		var s = 'html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.'
+		var s = 'html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#0080F0;fillColor=#ffffff;shadow=0;dashed=0;shape=mxgraph.ios7.icons.'
 		var inh = 'strokeColor=inherit;fillColor=inherit;gradientColor=inherit;';
 		var gn = 'mxgraph.ios7.icons';
 		
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-MSCAE.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-MSCAE.js
index 99b2a776dfbab9a067eb2b70c7c8b7a163ac3289..1a94f62800b9378d769ea3ca43d52ca508fc9d3f 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-MSCAE.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-MSCAE.js
@@ -20,8 +20,8 @@
 
 	Sidebar.prototype.addMSCAECloudPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.mscae.cloud.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#0079D6;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.';
 
 		// Space savers
 		var sb = this;
@@ -389,9 +389,9 @@
 
 	Sidebar.prototype.addMSCAEDeprecatedPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.deprecated.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.deprecated.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -481,9 +481,9 @@
 	
 	Sidebar.prototype.addMSCAEEnterprisePalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.enterprise.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.enterprise.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -705,10 +705,10 @@
 	
 	Sidebar.prototype.addMSCAEGeneralPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
-		var s4 = 'shadow=0;dashed=0;html=1;shape=mxgraph.mscae.general.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
+		var s4 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general.';
 
 		// Space savers
 		var sb = this;
@@ -782,11 +782,11 @@
 	
 	Sidebar.prototype.addMSCAEGeneralSymbolsPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.general_symbols.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
-		var s4 = 'shadow=0;dashed=0;html=1;shape=mxgraph.mscae.general_symbols.';
-		var s5 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
+		var s4 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.general_symbols.';
+		var s5 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -874,9 +874,9 @@
 	
 	Sidebar.prototype.addMSCAEIntunePalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.intune.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.intune.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -990,9 +990,9 @@
 	
 	Sidebar.prototype.addMSCAEOMSPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.oms.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.oms.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -1056,9 +1056,9 @@
 	
 	Sidebar.prototype.addMSCAEOpsManagerPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.opsmanager.';
-		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.opsmanager.';
+		var s3 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -1122,8 +1122,8 @@
 	
 	Sidebar.prototype.addMSCAEOtherPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;strokeColor=none;html=1;shape=mxgraph.mscae.other.';
+		var s = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;strokeColor=none;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.other.';
 
 		// Space savers
 		var sb = this;
@@ -1177,9 +1177,9 @@
 	
 	Sidebar.prototype.addMSCAESystemCenterPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.system_center.';
-		var s3 = 'shadow=0;dashed=0;html=1;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.system_center.';
+		var s3 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -1221,9 +1221,9 @@
 	
 	Sidebar.prototype.addMSCAEVMPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;shape=mxgraph.azure.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;shape=mxgraph.mscae.vm.';
-		var s3 = 'shadow=0;dashed=0;html=1;shape=mxgraph.mscae.';
+		var s = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.azure.';
+		var s2 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;strokeColor=none;shape=mxgraph.mscae.vm.';
+		var s3 = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.';
 
 		// Space savers
 		var sb = this;
@@ -1548,6 +1548,4 @@
 		}));
 
 	}
-	
-
 })();
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Office.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Office.js
index 8b2909d4a81c995a84f866b2db8b66cea8c0488e..d62f7875b08e7f7eb46ee5868ba5bf0f1d5c0f42 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Office.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Office.js
@@ -17,8 +17,8 @@
 	
 	Sidebar.prototype.addOfficeCloudsPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;shape=mxgraph.office.clouds.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;outlineConnect=0;verticalAlign=top;align=center;shape=mxgraph.office.clouds.';
 
 		// Space savers
 		var sb = this;
@@ -69,8 +69,8 @@
 
 	Sidebar.prototype.addOfficeCommunicationsPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.communications.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.communications.';
 
 		// Space savers
 		var sb = this;
@@ -160,8 +160,6 @@
 					w * 60, h * 57, '', 'Remote Move Request', null, null, this.getTagsForStencil(gn, 'remote move request', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'response_group;',
 					w * 58, h * 54, '', 'Response Group', null, null, this.getTagsForStencil(gn, 'response group', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'response_group_service;',
-//					w * 58, h * 54, '', 'Response Group Service', null, null, this.getTagsForStencil(gn, 'response group service', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'room_mailbox;',
 					w * 60, h * 57, '', 'Room Mailbox', null, null, this.getTagsForStencil(gn, 'room mailbox', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'shared_mailbox;',
@@ -237,8 +235,8 @@
 
 	Sidebar.prototype.addOfficeConceptsPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.concepts.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.concepts.';
 
 		// Space savers
 		var sb = this;
@@ -543,8 +541,8 @@
 
 	Sidebar.prototype.addOfficeDatabasesPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.databases.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.databases.';
 
 		// Space savers
 		var sb = this;
@@ -659,8 +657,8 @@
 	
 	Sidebar.prototype.addOfficeDevicesPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.devices.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.devices.';
 
 		// Space savers
 		var sb = this;
@@ -785,8 +783,8 @@
 	
 	Sidebar.prototype.addOfficeSecurityPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.security.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.';
 
 		// Space savers
 		var sb = this;
@@ -915,8 +913,8 @@
 	
 	Sidebar.prototype.addOfficeServersPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.servers.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.servers.';
 
 		// Space savers
 		var sb = this;
@@ -1135,8 +1133,8 @@
 	
 	Sidebar.prototype.addOfficeServicesPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.services.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.services.';
 
 		// Space savers
 		var sb = this;
@@ -1213,8 +1211,8 @@
 	
 	Sidebar.prototype.addOfficeSitesPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.sites.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.sites.';
 
 		// Space savers
 		var sb = this;
@@ -1283,8 +1281,8 @@
 	
 	Sidebar.prototype.addOfficeUsersPalette = function()
 	{
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.office.users.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.users.';
 
 		// Space savers
 		var sb = this;
@@ -1328,8 +1326,6 @@
 					w * 63, h * 55, '', 'Outlook User', null, null, this.getTagsForStencil(gn, 'outlook user', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'response_group;',
 					w * 58, h * 54, '', 'Response Group', null, null, this.getTagsForStencil(gn, 'response group', dt).join(' ')),
-//			this.createVertexTemplateEntry(s + 'response_group_service;',
-//					w * 58, h * 54, '', 'Response Group Service', null, null, this.getTagsForStencil(gn, 'response group service', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'role_group;',
 					w * 59, h * 56, '', 'Role Group', null, null, this.getTagsForStencil(gn, 'role group', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'skype_commercial_user;',
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Veeam.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Veeam.js
index 25f35c481e103bfd4fe01101dcffd3d74d77a077..23ff4bbb969f182e91ec69f370eeaf9e45d9425c 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Veeam.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Veeam.js
@@ -9,9 +9,9 @@
 	
 	Sidebar.prototype.addVeeam2DPalette = function()
 	{
-		var sn = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.';
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.2d.';
+		var sn = 'shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.2d.';
 
 		// Space savers
 		var sb = this;
@@ -316,9 +316,9 @@
 
 	Sidebar.prototype.addVeeam3DPalette = function()
 	{
-		var sn = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.';
-		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.';
-		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.';
+		var sn = 'shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.';
+		var s = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#4495D1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.';
+		var s2 = 'shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#EF8F21;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;shape=mxgraph.veeam.3d.';
 
 		// Space savers
 		var sb = this;
@@ -474,13 +474,4 @@
 					}
 		}));
 	};
-
-	
-	
-	
-	
-	
-	
-	
-	
 })();
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar.js b/src/main/webapp/js/diagramly/sidebar/Sidebar.js
index 7f5754257aaaf486b49d7d8c9c91779d9856cc22..1d7e0b3205009b10e68f2b9d50b6c2ed9a302b31 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar.js
@@ -944,7 +944,7 @@
 		{
 			this.addStencilPalette('cisco' + cisco[i], 'Cisco / ' + cisco[i],
 				dir + '/cisco/' + cisco[i].toLowerCase().replace(/ /g, '_') + '.xml',
-				';html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;', null, null, 1.6);
+				';html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;', null, null, 1.6);
 		}
 
 		this.addCiscoSafePalette();
diff --git a/src/main/webapp/js/embed-static.min.js b/src/main/webapp/js/embed-static.min.js
index 96b9365551816225cc77e2949784253f0d19c076..b37f1d7cfc7e2dc79257ba92380d1e9570d20e8a 100644
--- a/src/main/webapp/js/embed-static.min.js
+++ b/src/main/webapp/js/embed-static.min.js
@@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
 e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
 "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
 "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.7.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.7.1",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/")||
diff --git a/src/main/webapp/js/reader.min.js b/src/main/webapp/js/reader.min.js
index b4602da63c7e1e85cf7566d7e99600071afb8282..4d963fa6e7b35f78f04fb9d45b5306f74e655bb5 100644
--- a/src/main/webapp/js/reader.min.js
+++ b/src/main/webapp/js/reader.min.js
@@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
 e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
 "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
 "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.7.0",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.7.1",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/")||
diff --git a/src/main/webapp/js/shapes.min.js b/src/main/webapp/js/shapes.min.js
index b6f1f0a06912b890a7363f0f20d2e5de73f027ab..652f0958797542699e4b6c2e2fb297dbdd6ca13d 100644
--- a/src/main/webapp/js/shapes.min.js
+++ b/src/main/webapp/js/shapes.min.js
@@ -6,13 +6,13 @@ mxBpmnShape.prototype.redrawPath=function(a,d,e,b,c,f){var g=mxUtils.getValue(th
 .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*
 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);if("star"===g)a.setFillColor(l);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING||
-k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(n),a.setFillColor(l);h.call(this,a,d,e,b,c,f);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()}};
+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()}};
 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)}};
-mxBpmnShape.prototype.symbols={general:function(a,d,e,b,c){},message:function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke();"none"===mxUtils.getValue(this.style,"fillColor","none")&&a.setStrokeColor("#ffffff");a.begin();a.moveTo(0,0);a.lineTo(.5*b,.5*c);a.lineTo(b,0);a.stroke()},timer:function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(.5*b,0);a.lineTo(.5*b,.0642*c);a.moveTo(.7484*b,.0654*c);a.lineTo(.7126*b,.1281*c);a.moveTo(.93*b,.2471*c);a.lineTo(.8673*b,.2854*c);a.moveTo(b,
-.5*c);a.lineTo(.9338*b,.5*c);a.moveTo(.93*b,.7509*c);a.lineTo(.8673*b,.7126*c);a.moveTo(.7484*b,.9326*c);a.lineTo(.7126*b,.8699*c);a.moveTo(.5*b,.9338*c);a.lineTo(.5*b,c);a.moveTo(.2496*b,.9325*c);a.lineTo(.2854*b,.8699*c);a.moveTo(.068*b,.7509*c);a.lineTo(.1307*b,.7126*c);a.moveTo(0,.5*c);a.lineTo(.0642*b,.5*c);a.moveTo(.068*b,.2471*c);a.lineTo(.1307*b,.2854*c);a.moveTo(.2496*b,.0654*c);a.lineTo(.2854*b,.1281*c);a.moveTo(.5246*b,.0706*c);a.lineTo(.5*b,.5*c);a.lineTo(.7804*b,.5118*c);a.stroke()},
+mxBpmnShape.prototype.symbols={general:function(a,d,e,b,c){},message:function(a,d,e,b,c,f,g){a.rect(0,0,b,c);a.fillAndStroke();"none"===mxUtils.getValue(this.style,"fillColor","none")&&g&&a.setStrokeColor("#ffffff");a.begin();a.moveTo(0,0);a.lineTo(.5*b,.5*c);a.lineTo(b,0);a.stroke()},timer:function(a,d,e,b,c){a.ellipse(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(.5*b,0);a.lineTo(.5*b,.0642*c);a.moveTo(.7484*b,.0654*c);a.lineTo(.7126*b,.1281*c);a.moveTo(.93*b,.2471*c);a.lineTo(.8673*b,.2854*c);
+a.moveTo(b,.5*c);a.lineTo(.9338*b,.5*c);a.moveTo(.93*b,.7509*c);a.lineTo(.8673*b,.7126*c);a.moveTo(.7484*b,.9326*c);a.lineTo(.7126*b,.8699*c);a.moveTo(.5*b,.9338*c);a.lineTo(.5*b,c);a.moveTo(.2496*b,.9325*c);a.lineTo(.2854*b,.8699*c);a.moveTo(.068*b,.7509*c);a.lineTo(.1307*b,.7126*c);a.moveTo(0,.5*c);a.lineTo(.0642*b,.5*c);a.moveTo(.068*b,.2471*c);a.lineTo(.1307*b,.2854*c);a.moveTo(.2496*b,.0654*c);a.lineTo(.2854*b,.1281*c);a.moveTo(.5246*b,.0706*c);a.lineTo(.5*b,.5*c);a.lineTo(.7804*b,.5118*c);a.stroke()},
 escalation:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.lineTo(.5*b,.5*c);a.close();a.fillAndStroke()},conditional:function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke();a.begin();a.moveTo(0,.1027*c);a.lineTo(.798*b,.1027*c);a.moveTo(0,.3669*c);a.lineTo(.798*b,.3669*c);a.moveTo(0,.6311*c);a.lineTo(.798*b,.6311*c);a.moveTo(0,.8953*c);a.lineTo(.798*b,.8953*c);a.stroke()},link:function(a,d,e,b,c){a.begin();a.moveTo(0,.76*c);a.lineTo(0,.24*c);a.lineTo(.63*b,.24*c);a.lineTo(.63*
 b,0);a.lineTo(b,.5*c);a.lineTo(.63*b,c);a.lineTo(.63*b,.76*c);a.close();a.fillAndStroke()},error:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.3287*b,.123*c);a.lineTo(.6194*b,.6342*c);a.lineTo(b,0);a.lineTo(.6625*b,.939*c);a.lineTo(.3717*b,.5064*c);a.close();a.fillAndStroke()},cancel:function(a,d,e,b,c){a.begin();a.moveTo(.1051*b,0);a.lineTo(.5*b,.3738*c);a.lineTo(.8909*b,0);a.lineTo(b,.1054*c);a.lineTo(.623*b,.5*c);a.lineTo(b,.8926*c);a.lineTo(.8909*b,c);a.lineTo(.5*b,.6242*c);a.lineTo(.1051*
 b,c);a.lineTo(0,.8926*c);a.lineTo(.373*b,.5*c);a.lineTo(0,.1054*c);a.close();a.fillAndStroke()},compensation:function(a,d,e,b,c){a.begin();a.moveTo(0,.5*c);a.lineTo(.5*b,0);a.lineTo(.5*b,c);a.close();a.moveTo(.5*b,.5*c);a.lineTo(b,0);a.lineTo(b,c);a.close();a.fillAndStroke()},signal:function(a,d,e,b,c){a.begin();a.moveTo(0,c);a.lineTo(.5*b,0);a.lineTo(b,c);a.close();a.fillAndStroke()},multiple:function(a,d,e,b,c){a.begin();a.moveTo(0,.39*c);a.lineTo(.5*b,0);a.lineTo(b,.39*c);a.lineTo(.815*b,c);a.lineTo(.185*
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index 8da599b99b6edb35c9405a38b6538c6c6fd2a1c9..866229f44ba292d12e4d34a2d86ff5ab987dfcb2 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -2708,139 +2708,139 @@ this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnab
 (function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
-!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(r){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=
-b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(r){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");
-EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(r){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=
-a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=
-function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
-"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
-Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
-d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,
-!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1};var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("&lt;mxfile ");if(0<=c){var e=d.lastIndexOf("&lt;/mxfile&gt;");e>c&&(b=d.substring(c,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
-null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;
-d.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=
-a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=
-function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!0;var d,f=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
-g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
-App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=
-this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
-h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
-return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom",
-"1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
-">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':
-'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,r){null!=r&&(r=r.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,
-this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length?
-mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!=
-d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),
-f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c=
-this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==
-mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};
-EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);
-return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,
-null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),
-mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
-(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=
-this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+
-n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();
-for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),
-a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),
-b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));
-this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+
-"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=
-App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+
-(null!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=
-function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=
-function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=
-a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=
-this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};
-EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,
-"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,
-!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+=
-"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=
-k.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position="relative";var x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",
-mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=
-this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+
-"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||
-(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
-w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;
-b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),
-null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&
-null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";
-a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+
-this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);
-this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
-null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
-"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,
-"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,
-mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);l.style.paddingRight=18*t.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
-if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?
-(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
-5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
-Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
-Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
-"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
-!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
-a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=
-this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
-else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=
-mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};EditorUi.prototype.alert=
-function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
-EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
-return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};
-EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,r){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
-"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},
-0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),
-n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");
-null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,
-a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
-b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=
-this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color=
-"#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,
-function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+
-1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
-d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,
-function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),
-mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,
-mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?
-d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
-mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled",
-"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&&
-(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==
-e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d},
-getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft=
-"8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value",
-"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||
-mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,n,u){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&
-f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1));
-a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;
-c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
-mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");
-mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value",
-"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
-g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight=
-"12px";p.value="100%";d.appendChild(p);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?
-I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");
-mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
-var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));
-m.appendChild(r);mxEvent.addListener(r,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),
-l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;
-if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled",
-"disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():
-document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),
-!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=
-this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,mxResources.get("borderWidth")+":");
-var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight=
-"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop=
-"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility=
-"hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
-mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,
-!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));
-v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),
-null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
-EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
+!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(r){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
+null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(r){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(r){}})();
+EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();
+this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,
+length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize="9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight=
+"10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,
+b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+
+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1};
+var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("&lt;mxfile ");if(0<=c){var e=d.lastIndexOf("&lt;/mxfile&gt;");e>c&&(b=d.substring(c,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=
+function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");
+if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),
+this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!0;var d,f=null;null==c||
+c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",
+navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=
+function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),
+e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());
+var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():
+b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=
+r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?
+'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+
+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,r){null!=r&&(r=r.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
+">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+
+r+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=
+d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",
+[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!=d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&
+0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,
+a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c=this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",
+a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=
+0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=
+null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,
+h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",
+mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});
+return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,
+t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+
+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=
+I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};
+EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&
+0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();
+this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();
+this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);if(EditorUi.enableLogging&&
+!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?
+window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=
+function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=
+function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);
+delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=
+JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:
+null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";
+"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=
+this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+="aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:
+a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=k.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position=
+"relative";var x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),
+null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",
+v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,
+function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,
+d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=
+p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",
+k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),
+p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&
+(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,
+0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,
+c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,
+0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,
+mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));
+x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),
+c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);l.style.paddingRight=18*t.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=
+64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top=
+"-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=
+3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=
+null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage=
+"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};
+EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display="none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,
+!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
+this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,
+function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=
+typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),
+a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=
+function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=
+b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
+b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&
+(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,r){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),
+c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],
+10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
+c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&
+(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,
+mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
+window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=
+null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign=
+"center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);
+this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";
+a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),
+Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=
+a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&
+299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(D){this.handleError(D)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
+EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",
+m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=
+document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=
+function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");
+c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||
+b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+
+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");
+f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=
+mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,n,u){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+
+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
+this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1));a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
+b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=
+a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
+m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value","copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=
+document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,
+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="12px";p.value="100%";d.appendChild(p);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();
+z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};
+EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",
+m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");
+r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));m.appendChild(r);mxEvent.addListener(r,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));
+this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",
+q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";
+z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=
+q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,
+300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width=
+"60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=
+l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked",
+"checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,
+J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility="hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,
+u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
+d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?
+(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
+function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");
+a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),
+f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
+b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
 (k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
 (k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+
 " "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"==a.nodeName){var c=a.getElementsByTagName("diagram");if(0<
@@ -3006,7 +3006,7 @@ null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.page
 a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||
 Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
 Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==
-a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
+a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==
 a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
 Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
 arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}};
@@ -3098,10 +3098,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>')
 HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,
 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=
 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=
-25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var q=EditorUi.prototype.updateActionStates;
-EditorUi.prototype.updateActionStates=function(){q.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var p=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):p.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
-a.style.cssText="display:inline-block;position:relative;margin-right:4px;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
-"no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
+25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var q=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=
+function(){q.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var p=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):p.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;";
+a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";
+a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
 a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));
 b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
@@ -3143,7 +3143,7 @@ d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText=
 "right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
 1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);q=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
 p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
 Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.allowZoomIn=!1;
 GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;
 GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled=
diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia.txt
+++ b/src/main/webapp/resources/dia.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_am.txt
+++ b/src/main/webapp/resources/dia_am.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt
index e3a6ce4bd3ffed3f7341c0d503fe43b90845c8a7..096c4da83ce8dc90f8382e9b866bb31b787f8021 100644
--- a/src/main/webapp/resources/dia_ar.txt
+++ b/src/main/webapp/resources/dia_ar.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=‫خطأ في الترخيص في خوادم Google. ا
 errorSavingFileForbidden=‫خطأ في حفظ الملف. أذونات غير كافية.‬
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=‫خطأ في حفظ الملف. تعذر إيجاد الملف.‬
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=‫خطأ في إرسال التعليق.‬
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt
index 2b01fa2af311f4518869b4b2d2ae5809e79d9f55..5b1a9d98e97b67a0838f2096f1c8808afb2858bc 100644
--- a/src/main/webapp/resources/dia_bg.txt
+++ b/src/main/webapp/resources/dia_bg.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Грешка при авторизацията на съ
 errorSavingFileForbidden=Грешка при запазване на файла. Недостатъчни права за достъп. 
 errorSavingFileNameConflict=Диаграмата не беше запазена. Настоящата страница вече съдържа файл с име '{1}'.
 errorSavingFileNotFound=Грешка при запазване на файла. Файлът не беше намерен. 
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Сесията Ви приключи. Моля <a target='_blank' href='{1}'>{2}</a> и се върнете в този раздел, за да се опитате да запазите отново.
 errorSendingFeedback=Грешка при изпращането на обратна връзка.
 errorUpdatingPreview=Грешка при актуализирането на предварителния преглед.
diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_bn.txt
+++ b/src/main/webapp/resources/dia_bn.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt
index 4ffc191ddf22de96484e211e8704104f4c777497..ed554423a8a45a56e431da65bc498a105a6a4a4f 100644
--- a/src/main/webapp/resources/dia_bs.txt
+++ b/src/main/webapp/resources/dia_bs.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Greška pri autorizaciji sa Google serverima. Molimo da o
 errorSavingFileForbidden=Greška pri spašavanju fajla. Nedovoljne ovlasti pristupa.
 errorSavingFileNameConflict=Nije moguće spasiti dijagram. Trenutna stranica već sadrži fajl naziva '{1}'.
 errorSavingFileNotFound=Greška pri spašavanju fajla. Fajl nije pronađen.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Vaša sesija je istekla. Molimo <a target='_blank' href='{1}'>{2}</a> vratite se na ovu karticu i ponovo pokušajte spasiti.
 errorSendingFeedback=Greška pri slanju povratne informacije.
 errorUpdatingPreview=Greška pri ažuriranju pregleda.
diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt
index 4550fdc1a0eecc577f293c65e3cdb9935c57d40a..80d10bd24a8229ccb888cf25e67cabef6245b839 100644
--- a/src/main/webapp/resources/dia_ca.txt
+++ b/src/main/webapp/resources/dia_ca.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error en autoritzar els servidors de Google. Si us plau,
 errorSavingFileForbidden=Error en desar el fitxer. No disposeu dels drets d'accés suficients.
 errorSavingFileNameConflict=No s'ha pogut desar el diagrama. La pàgina actual conté un fitxer anomenat '{1}'.
 errorSavingFileNotFound=Error en desar. No s'ha trobat el fitxer.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=La teva sessió ha acabat. Si us plau, <a target='_blank' href='{1}'>{2}</a> i retorna a aquesta pestanya per intentar desar-ho de nou.
 errorSendingFeedback=Error en enviar la opinió.
 errorUpdatingPreview=Error pujant la vista prèvia.
diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt
index 5940a72060079b75d52f055d3a5bb2af7d69b93b..a237071475e5c0899657f1f69eb7b1c745229a5a 100644
--- a/src/main/webapp/resources/dia_cs.txt
+++ b/src/main/webapp/resources/dia_cs.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Chyba autorizace s Google servery. Prosím obnovte strán
 errorSavingFileForbidden=Chyba ukládání souboru. Nedostačující přístupová práva.
 errorSavingFileNameConflict=Diagram nelze uložit. Aktuální stránka už obsahuje soubor se jménem '{1}'.
 errorSavingFileNotFound=Chyba ukládání souboru. Soubor nenalezen.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Vaše připojení skončilo. Prosím <a target='_blank' href='{1}'>{2}</a>, pak se vraťte na tento panel a zkuste uložit znovu.
 errorSendingFeedback=Chyba při odesílání zpětné vazby.
 errorUpdatingPreview=Chyba při aktualizaci náhledu.
diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt
index 948eff1166739836f1788c2f6a4e3d9aae2d2223..28931eb0038335a7ef7fdce4d3a35093f7c7115d 100644
--- a/src/main/webapp/resources/dia_da.txt
+++ b/src/main/webapp/resources/dia_da.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Fejl ved autorisering med Google's servere. Genindlæs si
 errorSavingFileForbidden=Fejl ved lagring af fil. Utilstrækkelige adgangsrettigheder.
 errorSavingFileNameConflict=Kunne ikke gemme diagram. Nuværende side indeholder allerede en fil med navnet '{1}'.
 errorSavingFileNotFound=Fejl ved lagring af fil. Filen blev ikke fundet.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Din session er afsluttet. Gør venligst <a target='_blank' href='{1}'>{2}</a> og kom tilbage til denne tab for at prøve at gemme igen.
 errorSendingFeedback=Fejl ved afsendelse af feedback.
 errorUpdatingPreview=Fejl ved opdatering af preview.
diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt
index 219dd7eafb119d7bf94b14b33bee60ca4e6277d8..c2e28efbe4ac8528b17a8e8dade4e8c678c0ca3f 100644
--- a/src/main/webapp/resources/dia_de.txt
+++ b/src/main/webapp/resources/dia_de.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Fehler beim Speichern der Datei. Ungenügende Zugriffsrechte.
 errorSavingFileNameConflict=Diagramm wurde nicht gespeichert. Die Seite enthält bereits eine Datei mit Namen '{1}'.
 errorSavingFileNotFound=Fehler beim Speichern der Datei. Datei wurde nicht gefunden.
+errorSavingFileReadOnlyMode=Diagramm kann nicht gespeichert werden während Nur-Lesen Modus aktiv ist.
 errorSavingFileSessionTimeout=Ihre Sitzung wurde beendet. Bitte <a target='_blank' href='{1}'>{2}</a> und erneut speichern.
 errorSendingFeedback=Fehler beim versenden des Feedback.
 errorUpdatingPreview=Fehler beim aktualisieren der Vorschau.
diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt
index b9b107dd23cdc023cc0b1159aa0c6e304e9aba46..f8dd96d1f8610f86181006b8204a6d6993945a9f 100644
--- a/src/main/webapp/resources/dia_el.txt
+++ b/src/main/webapp/resources/dia_el.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Σφάλμα κατά την εξουσιοδότηση 
 errorSavingFileForbidden=Σφάλμα κατά την αποθήκευση του αρχείου. Ανεπαρκή δικαιώματα πρόσβασης.
 errorSavingFileNameConflict=Το διάγραμμα δεν αποθηκεύτηκε. Η συγκεκριμένη σελίδα περιέχει ήδη αρχείο που ονομάζεται '{1}'.
 errorSavingFileNotFound=Σφάλμα κατά την αποθήκευση του αρχείου. Το αρχείο δεν βρέθηκε.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Η συνεδρία σας τελείωσε. Παρακαλώ  <a target='_blank' href='{1}'>{2}</a> και επιστρέψτε σε αυτή την καρτέλα για να ξαναπροσπαθήσετε να το αποθηκεύσετε.
 errorSendingFeedback=Σφάλμα κατά την αποστολή κριτικής.
 errorUpdatingPreview=Σφάλμα κατά την ενημέρωση προεπισκόπησης.
diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt
index 821e82db443788ce053747498656f2d27656dada..0385ff7a783e1c996eec0f89f8663086f1514abc 100644
--- a/src/main/webapp/resources/dia_eo.txt
+++ b/src/main/webapp/resources/dia_eo.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt
index de37119859a3e4d4d1efc69dec75fc8ce999174e..c7a6708e74010f00a5c9abe397ef5b4daf91db9d 100644
--- a/src/main/webapp/resources/dia_es.txt
+++ b/src/main/webapp/resources/dia_es.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error al autorizar los servidores de Google. Por favor, r
 errorSavingFileForbidden=Error al guardar el archivo. Derechos de acceso insuficientes.
 errorSavingFileNameConflict=No se pudo guardar el diagrama. La página actual ya contiene el archivo llamado '{1}'.
 errorSavingFileNotFound=Error al guardar el archivo. No se ha encontrado el archivo.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Su sesión ha terminado. Por favor, <a target='_blank' href='{1}'>{2}</a> y vuelva a esta pestaña para intentar guardar nuevamente.
 errorSendingFeedback=Error al enviar opiniones.
 errorUpdatingPreview=Error al actualizar la vista previa.
diff --git a/src/main/webapp/resources/dia_et.txt b/src/main/webapp/resources/dia_et.txt
index 75cb29f7a10f5336f80f879b5e6264138c5e7c45..fc575008c9625c4f813ec21aff20025a33511d8b 100644
--- a/src/main/webapp/resources/dia_et.txt
+++ b/src/main/webapp/resources/dia_et.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Viga Google'i serveritega autoriseerimisel. Palun värske
 errorSavingFileForbidden=Viga faili salvestamisel. Ebapiisavad ligipääsuõigused.
 errorSavingFileNameConflict=Diagramm ei salvestunud. Käesolev leht juba sisaldab faili nimega '{1}'.
 errorSavingFileNotFound=Viga faili salvestamisel. Faili ei leitud.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sessioon on lõppenud. Palun <a target='_blank' href='{1}'>{2}</a> ja naase sellele vahelehele, et proovida uuesti salvestamist.
 errorSendingFeedback=Viga tagasiside saatmisel.
 errorUpdatingPreview=Viga eelvaate uuendamisel.
diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt
index 5e697b48d1ce52aace94783c5be7cfec05e262c9..e56870fd016ee318dd0006e422c47c5ffe5c8122 100644
--- a/src/main/webapp/resources/dia_fa.txt
+++ b/src/main/webapp/resources/dia_fa.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=‫خطا در دادن اجازه به سرورهای گ
 errorSavingFileForbidden=‫خطا در ذخیره فایل. مجوزهای دسترسی کافی نیستند.‬
 errorSavingFileNameConflict=‫نمودار قابل ذخیره نیست. در صفحه فعلی از قبل فایلی وجود دارد به نام '{1}'‬
 errorSavingFileNotFound=‫خطا در ذخیره فایل. فایل یافت نشد.‬
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=‫نوبت شما پایان یافته است. لطفا <a target='_blank' href='{1}'>{2}</a> و به این صفحه بازگردید تا مجدد عملیات ذخیره سازی را انجام دهید.‬
 errorSendingFeedback=‫خطا در ارسال نظر.‬
 errorUpdatingPreview=‫خطا در بروز رسانی پیش نما‬
diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt
index 20a44e1c723094bb3142bf1dc83f7df61db90c81..7e4b5e7206c97748f844cc4e95d3f3f7ae2ba19d 100644
--- a/src/main/webapp/resources/dia_fi.txt
+++ b/src/main/webapp/resources/dia_fi.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Googlen palvelimien valtuuttamisessa tapahtui virhe. Päi
 errorSavingFileForbidden=Tiedoston tallentamisessa tapahtui virhe. Ei tarpeeksi käyttöoikeuksia.
 errorSavingFileNameConflict=Kaaviota ei voitu tallentaa. Nykyisellä sivulla on jo tiedosto nimeltä '{1}'.
 errorSavingFileNotFound=Tiedoston tallentamisessa tapahtui virhe. Tiedostoa ei löytynyt.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Istuntosi on päättynyt. Ole hyvä <a target='_blank' href='{1}'>{2}</a> ja palaa takaisin tähän välilehteen tallentaaksesi uudestaan.
 errorSendingFeedback=Palautteen lähettäminen epäonnistui.
 errorUpdatingPreview=Virhe esikatselua päivitettäessä.
diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt
index f69af3c18f5358c4366da1f6098b368381106433..98e250142cbc3cf748d78ddff9382d4210c9ea2a 100644
--- a/src/main/webapp/resources/dia_fil.txt
+++ b/src/main/webapp/resources/dia_fil.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Pagkakamali sa pagpapahintulot sa mga server ng Google.
 errorSavingFileForbidden=Pagkakamali sa pag-save ng file.  Hindi sapat ang karapatan sa pag akses.
 errorSavingFileNameConflict=Pagkakamali sa pagpalit ng pangalan ng file.  Hindi sapat ang karapatan sa pag akses.
 errorSavingFileNotFound=Pagkakamali sa pag-save ng file.  Ang file ay hindi nahanap.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Pagkakamali sa pagpalit ng pangalan ng file.  Hindi sapat ang karapatan sa pag akses.
 errorSendingFeedback=Pagkakamali sa pag-send ng kumento.
 errorUpdatingPreview=Pagkakamali sa pag-update ng paunang tingin.
diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt
index 8ada0120cadaf96828c3beac42cf47d85bf84917..9e6aa49efde9df92865d8146544ae144d5521a55 100644
--- a/src/main/webapp/resources/dia_fr.txt
+++ b/src/main/webapp/resources/dia_fr.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Erreur d'autorisation avec les serveurs de Google. Veuill
 errorSavingFileForbidden=Erreur lors de l'enregistrement du fichier. Droits d'accès insuffisants.
 errorSavingFileNameConflict=Le diagramme n'a pas pu être enregistré. La page actuellement ouverte contient déjà un fichier nommé '{1}'.
 errorSavingFileNotFound=Erreur lors de l'enregistrement du fichier. Le fichier est introuvable.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Votre session a été fermée. Veuillez <a target='_blank' href='{1}'>{2}</a> et revenir à cet onglet pour tenter d'enregistrer à nouveau.
 errorSendingFeedback=Erreur lors de l'envoi du commentaire.
 errorUpdatingPreview=Erreur lors de la mise à jour de l'aperçu.
diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_gu.txt
+++ b/src/main/webapp/resources/dia_gu.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt
index 8817fb893411d9b833a1cb27868cad85da459b66..2dc3eb0ce18ea318b23826433346ab2772a6728e 100644
--- a/src/main/webapp/resources/dia_he.txt
+++ b/src/main/webapp/resources/dia_he.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=‫שגיאה באימות מול שרתי גוגל. אנ
 errorSavingFileForbidden=‫שגיאה בשמירת הקובץ. זכויות גישה לא מתאימות.‬
 errorSavingFileNameConflict=‫לא ניתן לשמור את הדיאגרמה. העמוד הנוכחי כבר מכיל קובץ בשם '{1}'.‬
 errorSavingFileNotFound=‫שגיאה בשמירת הקובץ. קובץ לא נמצא.‬
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=‫ההתקשרות שלך הסתיימה. אנא <a target='_blank' href='{1}'>{2}</a> וחזור ללשונית זו כדי לשמור שוב.‬
 errorSendingFeedback=‫שגיאה בשליחת המשוב.‬
 errorUpdatingPreview=‫שגיאה בעדכון התצוגה המקדימה.‬
diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_hi.txt
+++ b/src/main/webapp/resources/dia_hi.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_hr.txt
+++ b/src/main/webapp/resources/dia_hr.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt
index d2a241f70db361adb9086adef0c44b6cc5913526..6b9925233dddc71ad1e8caafaa6c7a424d3b1c00 100644
--- a/src/main/webapp/resources/dia_hu.txt
+++ b/src/main/webapp/resources/dia_hu.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Hiba a Google szerver engedélyezésekor. Kérjük friss
 errorSavingFileForbidden=Hiba a fájl mentésekor. Elégtelen hozzáférési jog.
 errorSavingFileNameConflict=A diagram mentése sikertelen. A pillanatnyi oldal már tartalmaz {1} nevű fájlt.
 errorSavingFileNotFound=Hiba a fájl mentésekor. A fájl nem található
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Az ülése véget ért. Kérjük <a target='_blank' href='{1}'>{2}</a> és vissza erre a lapra a mentés újrapróbálásához.
 errorSendingFeedback=Hiba a visszajelzés küldésekor.
 errorUpdatingPreview=Hiba az előnézet frissítésekor
diff --git a/src/main/webapp/resources/dia_i18n.txt b/src/main/webapp/resources/dia_i18n.txt
index d2b509d67b5be254c67b1aa25b2b5be9898ee944..9d03b51e7faa4850055997c56a65de3eee5bff29 100644
--- a/src/main/webapp/resources/dia_i18n.txt
+++ b/src/main/webapp/resources/dia_i18n.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=errorSavingFileUnknown
 errorSavingFileForbidden=errorSavingFileForbidden
 errorSavingFileNameConflict=errorSavingFileNameConflict
 errorSavingFileNotFound=errorSavingFileNotFound
+errorSavingFileReadOnlyMode=errorSavingFileReadOnlyMode
 errorSavingFileSessionTimeout=errorSavingFileSessionTimeout
 errorSendingFeedback=errorSendingFeedback
 errorUpdatingPreview=errorUpdatingPreview
diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt
index dfea17bd3f4c87ef7e5c338892c12461bddbf9bc..21910f21d2ff58d67509ebaba93b420e96bd053d 100644
--- a/src/main/webapp/resources/dia_id.txt
+++ b/src/main/webapp/resources/dia_id.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Galat otorisasi dengan peladen Google. Harap segarkan hal
 errorSavingFileForbidden=Galat menyimpan berkas. Hak akses tidak cukup.
 errorSavingFileNameConflict=Tidak dapat menyimpan diagram. Halaman saat ini telah berisi berkas dengan nama '{1}'.
 errorSavingFileNotFound=Galat menyimpan berkas. Berkas tidak ditemukan.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sesi Anda telah berakhir. Harap <a target='_blank' href='{1}'>{2}</a> dan kembali ke tab ini untuk mencoba menyimpan sekali lagi.
 errorSendingFeedback=Galat mengirim umpan balik.
 errorUpdatingPreview=Galat memperbarui pratinjau.
diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt
index eaa4eeadf85227cef8de69b38e9543d357301c6d..02eab93d141aec54e6742b43421faddd56bbb3db 100644
--- a/src/main/webapp/resources/dia_it.txt
+++ b/src/main/webapp/resources/dia_it.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Errore nell'autorizzazione dei server di Google. Aggiorna
 errorSavingFileForbidden=Errore nel salvataggio del file. Diritti di accesso non sufficienti.
 errorSavingFileNameConflict=Impossibile salvare il diagramma. La pagina corrente contiene  già un file con questo nome '{1}'
 errorSavingFileNotFound=Errore nel salvataggio del file. Il file non è stato trovato
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=La tua sessione è terminata. Perfavore  <a target='_blank' href='{1}'>{2}</a> e ritorna su questa scheda per riprovare a salvare
 errorSendingFeedback=Errore nell'invio del feedback
 errorUpdatingPreview=Errore nell'aggiornamento dell'anteprima
diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt
index e079b7fdbe87ffca0171df8663e8fa75f079aed1..bdf8aa04e181d301303c094465101faa76509c55 100644
--- a/src/main/webapp/resources/dia_ja.txt
+++ b/src/main/webapp/resources/dia_ja.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Googleサーバーの認証エラーです。再トライ
 errorSavingFileForbidden=ファイル保存エラー。アクセス権が不十分。
 errorSavingFileNameConflict=ダイアグラムを保存できませんでした。現在のページに既にファイルが含まれています'{1}'.
 errorSavingFileNotFound=ファイル保存エラー。ファイルが見つかりません。
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=あなたのセッションは終了しました。どうぞ <a target='_blank' href='{1}'>{2}</a> このタブに戻ってもう一度保存を試みてください。
 errorSendingFeedback=エラーのフィードバックを送信中。
 errorUpdatingPreview=エラー更新プレビュー。
diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_kn.txt
+++ b/src/main/webapp/resources/dia_kn.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt
index 54ff95bf2643f449f021fad821d7fa62537f1ee8..f52261c4a876e56f24e50b8d91d4e3c4b6ef1c0d 100644
--- a/src/main/webapp/resources/dia_ko.txt
+++ b/src/main/webapp/resources/dia_ko.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=구글 서버 승인 오류. 페이지 새로 고침 후
 errorSavingFileForbidden=파일 저장 오류. 접근 권한이 부족합니다.
 errorSavingFileNameConflict=다이어그램이 저장되지 못하였습니다. 이미 '{1}' 이름을 가진 파일이 해당 페이지에 존재합니다.
 errorSavingFileNotFound=파일 저장 오류. 파일을 찾을 수 없습니다.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=세션이 종료 되었습니다. <a target='_blank' href='{1}'>{2}</a> 해주시고, 다시 저장하시려면 해당 탭으로 돌아가 주시기 바랍니다.
 errorSendingFeedback=의견 보내기 오류
 errorUpdatingPreview=업데이트 미리보기 오류
diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_lt.txt
+++ b/src/main/webapp/resources/dia_lt.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_lv.txt
+++ b/src/main/webapp/resources/dia_lv.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_ml.txt
+++ b/src/main/webapp/resources/dia_ml.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_mr.txt
+++ b/src/main/webapp/resources/dia_mr.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt
index 4371905294477c9d9e1e428289e3c795e8ad0765..8fc6d1bce7dd6b1f3897bbf37acada930834f887 100644
--- a/src/main/webapp/resources/dia_ms.txt
+++ b/src/main/webapp/resources/dia_ms.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Ralat mendapatkan kebenaran daripada pelayan Google. Sila
 errorSavingFileForbidden=Ralat menyimpan fail. Hak akses tidak mencukupi.
 errorSavingFileNameConflict=Tidak dapat menyimpan gambarajah. Halaman semasa sudah mengandungi fail bernama '{1}'.
 errorSavingFileNotFound=Ralat menyimpan fail. Fail tidak ditemui.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sesi anda telah tamat. Sila <a target='_blank' href='{1}'>{2}</a> dan kembali ke tab ini untuk mencuba menyimpan semula.
 errorSendingFeedback=Ralat menghantar maklum balas.
 errorUpdatingPreview=Ralat mengemaskini pratonton.
diff --git a/src/main/webapp/resources/dia_nl.txt b/src/main/webapp/resources/dia_nl.txt
index b95f31d36572f848f9f52a3662bc5cb449457090..a7e087d5690b3a361792c2dd4c6b6abe72d2a4b1 100644
--- a/src/main/webapp/resources/dia_nl.txt
+++ b/src/main/webapp/resources/dia_nl.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Fout bij het autoriseren met Google servers. Pagina herla
 errorSavingFileForbidden=Fout bij opslaan bestand. Onvoldoende toegangsrechten.
 errorSavingFileNameConflict=Kon diagram niet opslaan. Huidige pagina bevat al een bestand genaamd '{1}'.
 errorSavingFileNotFound=Fout bij opslaan bestand. Bestand niet gevonden.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Uw sessie is verlopen. Graag <a target='_blank' href='{1}'>{2}</a> en ga weer naar dit tabblad om opnieuw te proberen op te slaan.
 errorSendingFeedback=Fout bij versturen opmerking.
 errorUpdatingPreview=Fout bij bijwerken voorbeeld.
diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt
index 85d44c2771b51e377fad5975085c118638bc2b42..b27f05b64ad2cd73fa850e1244d9d5cd45ea5aee 100644
--- a/src/main/webapp/resources/dia_no.txt
+++ b/src/main/webapp/resources/dia_no.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Feil ved autorisering med Googles servere. Vennligst oppd
 errorSavingFileForbidden=Feil ved lagring av til. Utilstrekkelige adgangsrettigheter.
 errorSavingFileNameConflict=Kunne ikke lagre diagram. Den nåværende siden inneholder allerede filnavnet '{1}'.
 errorSavingFileNotFound=Feil ved lagring av fil. Fant ikke filen.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Din nåværende sesjon er avsluttet. Vennligst <a target='_blank' href='{1}'>{2}</a> og kom tilbake til denne fanen for å prøve å lagre igjen.
 errorSendingFeedback=Feil ved sending av tilbakemelding.
 errorUpdatingPreview=Feil ved oppdatering av forhåndsvisning.
diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt
index 5b88d4f359bfba1ba44c06b001d2b1798d682cc2..d59df183dc73406acae52e4aa0decaa319ed9e51 100644
--- a/src/main/webapp/resources/dia_pl.txt
+++ b/src/main/webapp/resources/dia_pl.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=BÅ‚Ä…d podczas autoryzacji z serwerami Google. ProszÄ™ od
 errorSavingFileForbidden=Błąd podczas zapisywania pliku. Brak wystarczających praw dostępu.
 errorSavingFileNameConflict=Nie można zapisać diagramu. Aktualna strona zawiera już plik '{1}'
 errorSavingFileNotFound=Błąd podczas zapisywania pliku. Plik nie został odnaleziony.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Twoja sesja wygasła. <a target='_blank' href='{1}'>{2}</a> i wróć do tej karty, by spróbować zapisać ponownie.
 errorSendingFeedback=Błąd podczas przesyłania opinii.
 errorUpdatingPreview=BÅ‚Ä…d podczas aktualizowania podglÄ…du.
diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt
index ceded1a1bc8efe5cc5927eecdc2a9efc34cee9d9..fe101abda6a4d89eed87a5cc00c32ed85ada55d3 100644
--- a/src/main/webapp/resources/dia_pt-br.txt
+++ b/src/main/webapp/resources/dia_pt-br.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Erro ao autorizar com servidores do Google. Por favor, at
 errorSavingFileForbidden=Erro ao salvar o arquivo. Direitos de acesso insuficientes.
 errorSavingFileNameConflict=Não foi possível salvar o diagrama. A página atual já contém arquivo com o nome '{1}'.
 errorSavingFileNotFound=Erro ao salvar o arquivo. Arquivo não encontrado.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sua sessão foi finalizada. Por favor <a target='_blank' href='{1}'>{2}</a> e retorne a esta guia para tentar salvar novamente.
 errorSendingFeedback=Erro ao enviar feedback.
 errorUpdatingPreview=Erro na atualização da visualização
diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt
index 3dae513c21ca1d8e42daadd92d5aed67833880ef..bb4cf64e41a5581256fafff4b522dbfed21c1f24 100644
--- a/src/main/webapp/resources/dia_pt.txt
+++ b/src/main/webapp/resources/dia_pt.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Erro ao autorizar com os servidores do Google. Por favor,
 errorSavingFileForbidden=Erro ao guardar o ficheiro. Direitos de acesso insuficientes.
 errorSavingFileNameConflict=Não foi possível salvar o diagrama. A página atual já contem ficheiro com nome '{1}'.
 errorSavingFileNotFound=Erro ao guardar o ficheiro. Ficheiro não encontrado.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sua sessão foi terminada. Por favor <a target='_blank' href='{1}'>{2}</a> e retorne a esta guia para tentar salvar novamente.
 errorSendingFeedback=Erro ao enviar feedback.
 errorUpdatingPreview=Erro actualização antevisão.
diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt
index 05c51d9b8d01a4cf3760510fe154fe73519b6458..7d12bf0919acef6feca133b09117eb367558142b 100644
--- a/src/main/webapp/resources/dia_ro.txt
+++ b/src/main/webapp/resources/dia_ro.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Eroare la autorizarea cu serverele Google. Te rugăm să
 errorSavingFileForbidden=Eroare la salvarea fișierului. Drepturi de acces insuficiente.
 errorSavingFileNameConflict=Diagrama nu a putut fi salvată. Pagina curentă deja conține un fișier numit '{1}'.
 errorSavingFileNotFound=Eroare la salvarea fișierului. Fişierul nu a fost găsit.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Sesiunea dumneavoastră a expirat. Va rugăm să <a target='_blank' href='{1}'>{2}</a> si să reveniți la această pagină pentru a încerca să salvați din nou.
 errorSendingFeedback=Eroare la trimitere feedback.
 errorUpdatingPreview=Eroare la actualizarea exemplului.
diff --git a/src/main/webapp/resources/dia_ru.txt b/src/main/webapp/resources/dia_ru.txt
index 08090ca1d5ea40c814447d069a70cdb6ac15144a..79756c819d47b40f6b61d8292367c68e65dca15f 100644
--- a/src/main/webapp/resources/dia_ru.txt
+++ b/src/main/webapp/resources/dia_ru.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Ошибка авторизации на сервере G
 errorSavingFileForbidden=Ошибка сохранения файла. Не хватает прав доступа.
 errorSavingFileNameConflict=Невозможно сохранить диаграмму. Страница уже содержит файл с названием '{1}'.
 errorSavingFileNotFound=Ошибка при сохранении файла. Файл не найден.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Ваша сессия истекла. Для сохранения, пожалуйста, <a target='_blank' href='{1}'>{2}</a> и вернитесь на эту закладку.
 errorSendingFeedback=Ошибка при отправке сообщения обратной связи.
 errorUpdatingPreview=Ошибка при обновлении предпросмотра.
diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_sk.txt
+++ b/src/main/webapp/resources/dia_sk.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_sl.txt
+++ b/src/main/webapp/resources/dia_sl.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt
index b520dcb55534da93dc0ae4bd4dad682621072989..5868872f0affbd4bca47d54f9d860e307e09d37d 100644
--- a/src/main/webapp/resources/dia_sr.txt
+++ b/src/main/webapp/resources/dia_sr.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Greška pri autorizaciji sa Google serverom. Molimo vas,
 errorSavingFileForbidden=Greška pri snimanju. Nedovoljna prava pristupa.
 errorSavingFileNameConflict=Dijagram nije sačuvan. Trenutna stranica već sadrži dijagram pod nazivom {1}
 errorSavingFileNotFound=Greška pri snimanju. Datoteka nije pronađena.
+errorSavingFileReadOnlyMode=Dijagram ne može biti sačuvan dok traje zabrana upisa.
 errorSavingFileSessionTimeout=Vaša sesija je istekla. Molimo <a target='_blank' href='{1}'>prijavite se</a> i vratite se na ovu karticu da pokušate ponovo da sačuvate.
 errorSendingFeedback=Greška pri slanju povratne informacije.
 errorUpdatingPreview=Greška pri osvežavanju pregleda
diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt
index b7ac9c078c13cd8d3634eaf7d9197b6be7bf7868..8b141675914986c9d097606656985d099da4c240 100644
--- a/src/main/webapp/resources/dia_sv.txt
+++ b/src/main/webapp/resources/dia_sv.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Ett fel uppstod vid autentisering med Googles servrar. V
 errorSavingFileForbidden=Ett fel uppstod vid sparande av filen. Otillräckliga behörighetsrättigheter.
 errorSavingFileNameConflict=Kunde inte spara diagrammet. Sidan innehåller redan filnamn '{1}'.
 errorSavingFileNotFound=Ett fel uppstod vid sparande av filen. Filen kunde inte hittas.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Din session har avslutats. Vänligen <a target='_blank' href='{1}'>{2}</a> och återgå till denna flik och försök att spara igen.
 errorSendingFeedback=Ett fel uppstod vid sändning av feedback.
 errorUpdatingPreview=Ett fel uppstod vid uppdatering av förhandsvisning.
diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_sw.txt
+++ b/src/main/webapp/resources/dia_sw.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_ta.txt
+++ b/src/main/webapp/resources/dia_ta.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt
index 5bf655aeaf7eabc9d5ca6303c8ea19ccfa32fabe..5d63040348a7d3c618fcc94dd5a751f0bf518d7f 100644
--- a/src/main/webapp/resources/dia_te.txt
+++ b/src/main/webapp/resources/dia_te.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Error authorizing with Google's servers. Please refresh t
 errorSavingFileForbidden=Error saving file. Insufficient access rights.
 errorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.
 errorSavingFileNotFound=Error saving file. File was not found.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.
 errorSendingFeedback=Error sending feedback.
 errorUpdatingPreview=Error updating preview.
diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt
index 430c99f6946a687c57358df181f8ffd69305af47..4bef137ba44d2248d567ca1c536690c4b2c56057 100644
--- a/src/main/webapp/resources/dia_th.txt
+++ b/src/main/webapp/resources/dia_th.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=เกิดข้อผิดพลาดเกี่ย
 errorSavingFileForbidden=เกิดข้อผิดพลาดในการบันทึกไฟล์ สิทธิในการเข้าใช้ไม่เพียงพอ
 errorSavingFileNameConflict=ไม่สามารถบันทึกแผนภาพได้ หน้าปัจจุบันมีไฟล์ชื่อ '{1}' แล้ว
 errorSavingFileNotFound=เกิดข้อผิดพลาดในการบันทึกไฟล์ ไม่พบไฟล์
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=เซสชั่นของคุณได้สิ้นสุดลงแล้ว  กรุณา <a target='_blank' href='{1}'> {2} </a> และกลับไปที่แท็บนี้เพื่อลองบันทึกอีกครั้ง
 errorSendingFeedback=การส่งฟีดแบ็กผิดพลาด
 errorUpdatingPreview=เกิดข้อผิดพลาดในการอัปเดตตัวอย่าง
diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt
index 29353a186ef09bf468ba01934f5115a86c6cf32c..b8db29dd6616e67df6bc812730a16f08460db08e 100644
--- a/src/main/webapp/resources/dia_tr.txt
+++ b/src/main/webapp/resources/dia_tr.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Google'ın sunucuları yetkilendirme hatası. Lütfen tek
 errorSavingFileForbidden=Dosya kaydetme hatası. Yetersiz erişim hakları.
 errorSavingFileNameConflict=Diyagramı kaydedemedi. Mevcut sayfa '{1}' isimli dosyayı çoktan içeriyor
 errorSavingFileNotFound=Dosyayı kaydederken hata. Dosya bulunamadı.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Oturumunuz sona ermiştir. Lütfen <a hedef='_boşluk' href='{1}'>{2}</a> 
 errorSendingFeedback=Geri-bildirim gönderme hatası.
 errorUpdatingPreview=Önizleme güncelleme hatası
diff --git a/src/main/webapp/resources/dia_uk.txt b/src/main/webapp/resources/dia_uk.txt
index df2634abf9ba3e1cb2daa4845b75246a4d4128b0..3d2c15527e6e28e7af561d4230c263f5aae281cc 100644
--- a/src/main/webapp/resources/dia_uk.txt
+++ b/src/main/webapp/resources/dia_uk.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Помилка при авторизації на сер
 errorSavingFileForbidden=Помилка при збереженні файла. Недостатні права доступу.
 errorSavingFileNameConflict=Не вдалося зберегти діаграму. На цій сторінці вже є файл з назвою '{1}'.
 errorSavingFileNotFound=Помилка при збереженні файла. Файл не знайдено. 
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Вашу сесію завершено. Будь ласка, <a target='_blank' href='{1}'>{2}</a> та поверніться до цієї вкладки, щоб спробувати зберегти ще раз. 
 errorSendingFeedback=Помилка при відправці форми зворотнього зв'язку.
 errorUpdatingPreview=Помилка при оновленні прев'ю.
diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt
index 844b556c0794be8b9b22b6fa47e92d2a2d613098..9d4e7d57eb34791d54c30473065f650a11094449 100644
--- a/src/main/webapp/resources/dia_vi.txt
+++ b/src/main/webapp/resources/dia_vi.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Lỗi khi cấp phép với máy chủ Google. Xin vui l
 errorSavingFileForbidden=Lỗi khi lưu tập tin. Không đủ quyền truy xuất.
 errorSavingFileNameConflict=Không thể lưu biểu đồ, Trang hiện tại đã có tập tin mang tên '{1}'
 errorSavingFileNotFound=Lỗi khi lưu tập tin. Không tìm thấy tập tin.
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=Phiên làm việc của bạn đã kết thúc. Vui lòng <a target='_blank' href='{1}'>{2}</a> và trở về tab này để thử lưu lại lần nữa.
 errorSendingFeedback=Lỗi khi gửi phản hồi.
 errorUpdatingPreview=Lỗi khi cập nhật bản xem trước.
diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt
index e481230dee6bd8e93f8f84c547d5ffc213109602..1df2af44a0485a894ded9d50aa50382d6aadff7d 100644
--- a/src/main/webapp/resources/dia_zh-tw.txt
+++ b/src/main/webapp/resources/dia_zh-tw.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Google服務授權出錯。請重新載入頁面然後再
 errorSavingFileForbidden=儲存檔案出錯。沒有足夠的存取權。
 errorSavingFileNameConflict=無法儲存此圖表。當前頁面已存在名為「{1}」的檔案。
 errorSavingFileNotFound=儲存檔案出錯。找不到檔案。
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=你的會話已經結束。請<a target='_blank'href='{1}'>{2}</a>,然後返回此選項卡並再次儲存。
 errorSendingFeedback=傳送回饋出錯。
 errorUpdatingPreview=更新預覽畫面出錯。
diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt
index e894a96be0fe942bc64a474550dec1d65d170f5e..33963e19c5c7d06ac68b2c408acc8b7687215f4e 100644
--- a/src/main/webapp/resources/dia_zh.txt
+++ b/src/main/webapp/resources/dia_zh.txt
@@ -226,6 +226,7 @@ errorSavingFileUnknown=Google服务器授权出错。请刷新页面,然后重
 errorSavingFileForbidden=保存文件时出错。没有足够的访问权限。
 errorSavingFileNameConflict=无法保存此图表。当前页面已经包含名为'{1}'的文件。
 errorSavingFileNotFound=保存文件时出错,文件未找到。
+errorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.
 errorSavingFileSessionTimeout=您的会话已经结束。请<a target='_blank'href='{1}'>{2}</a>,然后返回此标签以尝试再次保存。
 errorSendingFeedback=发送反馈出错。
 errorUpdatingPreview=更新预览出错。
diff --git a/src/main/webapp/shapes/bpmn/mxBpmnShape2.js b/src/main/webapp/shapes/bpmn/mxBpmnShape2.js
index e625f4f3c224c9030cdb22989420789c418efa20..9e195145221e4c6db0db4a030c6bf2a3a6a04416 100644
--- a/src/main/webapp/shapes/bpmn/mxBpmnShape2.js
+++ b/src/main/webapp/shapes/bpmn/mxBpmnShape2.js
@@ -266,6 +266,8 @@ mxBpmnShape.prototype.redrawPath = function(c, x, y, w, h, layer)
 				{
 				}
 				
+				isInverse = false;
+				
 				if (s === 'star')
 				{
 					c.setFillColor(strokeColor);
@@ -274,9 +276,10 @@ mxBpmnShape.prototype.redrawPath = function(c, x, y, w, h, layer)
 				{
 					c.setStrokeColor(fillColor);
 					c.setFillColor(strokeColor);
+					isInverse = true;
 				}
 
-				f.call(this, c, x, y, w, h, layer);
+				f.call(this, c, x, y, w, h, layer, isInverse);
 				
 				if (s === 'star')
 				{
@@ -430,7 +433,7 @@ mxBpmnShape.prototype.symbols = {
 		'general' : function(c, x, y, w, h)
 		{
 		},
-		'message': function(c, x, y, w, h)
+		'message': function(c, x, y, w, h, layer, isInverse)
 		{
 			c.rect(0, 0, w, h);
 			c.fillAndStroke();
@@ -439,7 +442,10 @@ mxBpmnShape.prototype.symbols = {
 
 			if (fc === 'none')
 			{
-				c.setStrokeColor('#ffffff');
+				if (isInverse)
+				{
+					c.setStrokeColor('#ffffff');
+				}
 			}
 			
 			c.begin();