6.7.3 release

This commit is contained in:
David Benson 2017-06-03 10:12:19 +01:00
parent 33c182f144
commit 73676345b9
28 changed files with 8134 additions and 3878 deletions

View file

@ -1,3 +1,9 @@
03-JUN-2017: 6.7.3
- Updates Gliffy translations to add Flowchart v2 library
- Adds edge group support to vsdx export
- Updates Google Cloud Platform icons
31-MAY-2017: 6.7.2
- Adds Atlassian shapes

View file

@ -1 +1 @@
6.7.2
6.7.3

View file

@ -58,11 +58,40 @@ com.gliffy.shape.flowchart.flowchart_v1.default.off_page_connector=offPageConnec
com.gliffy.shape.flowchart.flowchart_v1.default.left_arrow=mxgraph.arrows2.arrow;dy=0.65;dx=8.29;flipH=1;notch=0
com.gliffy.shape.flowchart.flowchart_v1.default.right_arrow=mxgraph.arrows2.arrow;dy=0.65;dx=8.29;notch=0
com.gliffy.shape.flowchart.flowchart_v1.default.double_arrow=mxgraph.arrows2.twoWayArrow;dy=0.65;dx=8.29;
#
# FLOWCHART V2
#
com.gliffy.shape.flowchart.flowchart_v2.default.process=mxgraph.flowchart.process;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.decision=mxgraph.flowchart.decision;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.document=mxgraph.flowchart.document;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.subroutine=mxgraph.flowchart.predefined_process;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.input_output=parallelogram;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.paper_tape=mxgraph.flowchart.paper_tape;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.database=mxgraph.flowchart.database;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.data_storage=mxgraph.flowchart.stored_data;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.merge=mxgraph.flowchart.merge_or_storage;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.multiple_documents=mxgraph.flowchart.multi-document;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.manual_input=mxgraph.flowchart.manual_input;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.manual_operation=mxgraph.flowchart.manual_operation;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.internal_storage=mxgraph.flowchart.internal_storage;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.tape_data=mxgraph.flowchart.sequential_data;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.loop_limit=mxgraph.flowchart.loop_limit;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.preparation=hexagon;perimeter=hexagonPerimeter;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.card=mxgraph.flowchart.card;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.display=mxgraph.flowchart.display;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.delay=mxgraph.flowchart.delay;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.start_end=mxgraph.flowchart.terminator;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.connector=ellipse;perimeter=ellipsePerimeter;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.off_page_connector=offPageConnector;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.left_arrow=mxgraph.arrows2.arrow;dy=0.47;dx=28.75;flipH=1;notch=0;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.right_arrow=mxgraph.arrows2.arrow;dy=0.47;dx=28.75;notch=0;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
com.gliffy.shape.flowchart.flowchart_v2.default.double_arrow=mxgraph.arrows2.twoWayArrow;dy=0.47;dx=28.75;strokeWidth=5;gradientColor=#CCCCCC;gradientDirection=west
#
# SWIMLANES
#
com.gliffy.shape.swimlanes.swimlanes_v1.default.vertical_single_lane_pool=swimlane
com.gliffy.shape.swimlanes.swimlanes_v1.default.horizontal_single_lane_pool=swimlane;rotation=-90
com.gliffy.shape.swimlanes.swimlanes_v1.default.horizontal_single_lane_pool=swimlane
com.gliffy.shape.swimlanes.swimlanes_v1.default.vertical_double_lane_pool=swimlane
com.gliffy.shape.swimlanes.swimlanes_v1.default.horizontal_double_lane_pool=swimlane
com.gliffy.shape.swimlanes.swimlanes_v1.default.vertical_triple_lane_pool=swimlane

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 05/31/2017 08:23 AM
# 06/03/2017 09:45 AM
app.html
index.html?offline=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

78
war/js/app.min.js vendored
View file

@ -3195,7 +3195,7 @@ q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteract
"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top",null,null,1.6);this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<u.length;b++)"Bottom Navigation"==u[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==u[b]?this.addGMDLBottomSheetsPalette():"Buttons"==u[b]?this.addGMDLButtonsPalette():"Cards"==u[b]?this.addGMDLCardsPalette():"Chips"==u[b]?this.addGMDLChipsPalette():"Dialogs"==
u[b]?this.addGMDLDialogsPalette():"Dividers"==u[b]?this.addGMDLDividersPalette():"Grid Lists"==u[b]?this.addGMDLGridListsPalette():"Icons"==u[b]?this.addGMDLIconsPalette():"Lists"==u[b]?this.addGMDLListsPalette():"Menus"==u[b]?this.addGMDLMenusPalette():"Misc"==u[b]?this.addGMDLMiscPalette():"Pickers"==u[b]?this.addGMDLPickersPalette():"Selection Controls"==u[b]?this.addGMDLSelectionControlsPalette():"Sliders"==u[b]?this.addGMDLSlidersPalette():"Steppers"==u[b]?this.addGMDLSteppersPalette():"Tabs"==
u[b]?this.addGMDLTabsPalette():"Text Fields"==u[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var f=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,d,c,m,n,p,q){f.apply(this,arguments);p=null!=p?p:1;mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(b,a,d,e,f){if(null==m||0>mxUtils.indexOf(m,
a))d=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+c+'" w="'+Math.round(e*p)+'" h="'+Math.round(f*p)+'"'+(null!=d?' tags="'+d+'"':"")+"/>")}),!0)}}var d=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,c,f,m){var e=f;if(this.editorUi.enableLogging&&!this.editorUi.isOffline()&&0==c)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=shapesearch:"+encodeURIComponent(b)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(p){}f=
a))d=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+c+'" w="'+Math.round(e*p)+'" h="'+Math.round(f*p)+'"'+(null!=d?' tags="'+d+'"':"")+"/>")}),!0)}}var d=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,c,f,m){var e=f;if(EditorUi.enableLogging&&!this.editorUi.isOffline()&&0==c)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=shapesearch:"+encodeURIComponent(b)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(p){}f=
mxUtils.bind(this,function(d,f,g,k){!this.editorUi.isOffline()&&d.length<=a/4?(g=c-Math.ceil((f-a/4)/a),mxUtils.get(ICONSEARCH_PATH+"?v=2&q="+encodeURIComponent(b)+"&p="+g+"&c="+a,mxUtils.bind(this,function(b){try{if(200<=b.getStatus()&&299>=b.getStatus())try{var g=JSON.parse(b.getText());if(null==g||null==g.icons)e(d,f,!1,k),this.editorUi.handleError(g);else{for(b=0;b<g.icons.length;b++){for(var l=g.icons[b].raster_sizes,m=l.length-1;0<m&&128<l[m].size;)m--;var n=l[m].size,p=l[m].formats[0].preview_url;
null!=n&&null!=p&&mxUtils.bind(this,function(b,a){d.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+a,b,b,"")}))})(n,p)}e(d,(c-1)*a+d.length,g.icons.length==a,k)}}catch(C){e(d,f,!1,k),this.editorUi.handleError(C)}else e(d,f,!1,k),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(C){e(d,f,!1,k),this.editorUi.handleError(C)}},
function(){e(d,f,!1,k)}))):e(d,f,g||!this.editorUi.isOffline(),k)});d.apply(this,arguments)};var b=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(a,d,c){var e=this.editorUi.editor.graph,f=!1;if(null!=a&&1==e.getSelectionCount()&&e.getModel().isVertex(a[0])){var g=e.cloneCells(a)[0];if(e.getModel().isEdge(e.getSelectionCell())&&null==e.getModel().getTerminal(e.getSelectionCell(),!1)&&e.getModel().isVertex(g)){e.getModel().beginUpdate();try{var k=e.view.getState(e.getSelectionCell());
@ -7853,17 +7853,17 @@ V.style.textAlign="right";Y.style.textAlign="right";mxUtils.write(V,mxResources.
"focus",function(){Q.checked=!0});mxEvent.addListener(X,"focus",function(){Q.checked=!0});k=document.createElement("span");mxUtils.write(k,mxResources.get("fitToSheetsDown"));P.appendChild(k);N.appendChild(V);N.appendChild(O);N.appendChild(ba);G.appendChild(Y);G.appendChild(S);G.appendChild(P);W.appendChild(N);W.appendChild(G);v.appendChild(W);m.appendChild(v);f.appendChild(m);m=document.createElement("div");k=document.createElement("div");k.style.fontWeight="bold";k.style.marginBottom="12px";mxUtils.write(k,
mxResources.get("paperSize"));m.appendChild(k);k=document.createElement("div");k.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(k,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);m.appendChild(k);k=document.createElement("span");mxUtils.write(k,mxResources.get("pageScale"));m.appendChild(k);var aa=document.createElement("input");aa.style.cssText="margin:0 8px 0 8px;";aa.setAttribute("value","100 %");aa.style.width="60px";m.appendChild(aa);f.appendChild(m);
k=document.createElement("div");k.style.cssText="text-align:right;margin:62px 0 0 0;";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";a.editor.cancelFirst&&k.appendChild(m);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className="geBtn",k.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),
v.className="geBtn",k.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";k.appendChild(v);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();(function(){EditorUi.VERSION="6.7.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;
EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(p){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();
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.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=
2E9,k.style.left=Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+
"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<
8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(t){}return c};EditorUi.prototype.validateFileData=
v.className="geBtn",k.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";k.appendChild(v);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();(function(){EditorUi.VERSION="6.7.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.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;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(p){}};b.src=
"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();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.movePickersToTop=
function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=2E9,k.style.left=
Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+"px")),this.pause=
mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<
16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(t){}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 e=d.length-1;0<=e;e--){var f=this.updatePageRoot(new DiagramPage(d[e]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[e+1]));b.model.execute(new ChangePage(this,f,0==e?f: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(e=0;e<c.length;e++)b.model.execute(new ChangePage(this,c[e],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,f,g,u,v,x){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;v=null!=v?v:!0;var k,l=null;null==c||
@ -8389,15 +8389,15 @@ App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage
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)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var a=mxSettings.getPlugins(),c=urlParams.p;if(null!=c||null!=a&&0<a.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=c)for(var f=c.split(";"),c=0;c<f.length;c++){var d=App.pluginRegistry[f[c]];null!=d?mxscript(d):null!=window.console&&console.log("Unknown plugin:",f[c])}if(null!=a&&0<a.length&&"0"!=urlParams.plugins){f=window.location.protocol+
"//"+window.location.host;d=!0;for(c=0;c<a.length&&d;c++)"/"!=a[c].charAt(0)&&a[c].substring(0,f.length)!=f&&(d=!1);if(d||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",[a.join("\n")]).replace(/\\n/g,"\n")))for(c=0;c<a.length;c++)try{mxscript(a[c])}catch(b){}}}})();
App.main=function(a){var c=null;window.onerror=function(a,b,e,f,k){try{if(a!=c&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var d=new Image,g=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";d.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+
encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"&stack="+encodeURIComponent(k.stack):"")}}catch(n){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width","0");f.setAttribute("height",
"0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=f;)"shapes"==f.nodeName&&
null!=f.getAttribute("name")&&(mxStencilRegistry.stencilSet[f.getAttribute("name").toLowerCase()]=f,mxStencilRegistry.parseStencilSet(f)),f=f.nextSibling}"0"==urlParams.picker||mxClient.IS_QUIRKS||8==document.documentMode||mxscript(document.location.protocol+"//www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"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"):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?
[f]:[f,STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=new App(new Editor("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)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};
mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.main=function(a){var c=null;EditorUi.enableLogging&&(window.onerror=function(a,b,e,f,k){try{if(a!=c&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var d=new Image,g=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";d.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+
"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"&stack="+encodeURIComponent(k.stack):"")}}catch(n){}});"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width",
"0");f.setAttribute("height","0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=
f;)"shapes"==f.nodeName&&null!=f.getAttribute("name")&&(mxStencilRegistry.stencilSet[f.getAttribute("name").toLowerCase()]=f,mxStencilRegistry.parseStencilSet(f)),f=f.nextSibling}"0"==urlParams.picker||mxClient.IS_QUIRKS||8==document.documentMode||mxscript(document.location.protocol+"//www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"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"):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);
mxUtils.getAll("1"!=urlParams.dev?[f]:[f,STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=new App(new Editor("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)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML=
'Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
IMAGE_PATH+"/chevron-up.png";
App.prototype.chevronDownImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC":IMAGE_PATH+
@ -8570,24 +8570,24 @@ this.findWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObje
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 q=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=q.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(c,d){if(!mxClient.IS_CHROMEAPP&&a.isOffline())this.addMenuItems(c,["about"]);else{var e=c.addItem("Search",null,null,d,null,null,!1),f=document.createElement("div");f.style.display="inline";f.innerHTML=':<form style="display:inline;margin-left:8px;"target="_blank" method="get" action="https://desk.draw.io/support/search/solutions"><input type="text" name="term" size="25"></form>';e.firstChild.nextSibling.appendChild(f);
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var g=f.getElementsByTagName("form")[0],k=f.getElementsByTagName("input")[0];null!=k&&null!=g&&(mxEvent.addListener(g,"submit",function(){if(a.enableLogging)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=helpsearch:"+encodeURIComponent(k.value)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(C){}window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,function(a){document.activeElement!=
k&&k.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){k.focus()},0));this.addMenuItems(c,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(c,["feedback"]);this.addMenuItems(c,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=b.getGraphBounds(),
c=b.view.translate,e=b.view.scale;b.insertVertex(d,null,"",a.x/e-c.x,a.y/e-c.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),this.addMenuItems(c,["-","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-
c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(c,["testXmlImageExport"],d),mxResources.parse("testVsdxExport=Vsdx Export"),
this.editorUi.actions.addAction("testVsdxExport",mxUtils.bind(this,function(){(new VsdxExport(this.editorUi)).exportCurrentDiagrams()})),this.addMenuItems(c,["testVsdxExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&
(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var 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(c,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(c,["-","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(){var b=a.getCurrentFile();if("1"==urlParams.embed||null!=b&&b.isEditable())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,k,l,m,n){a.createHtml(b,c,d,e,f,g,k,l,m,n,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 c=b.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((c.y+c.height-b.view.translate.y)/b.view.scale)+2,function(b,c,d,e,f,g,k,l){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),
function(m){a.spinner.stop();m=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+a.createLink(b,c,d,e,f,g,m)+'"></iframe>');a.showDialog(m.container,440,240,!0,!0);m.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(k){a.spinner.stop();k=new EmbedDialog(a,
a.createLink(b,c,d,e,f,g,k));a.showDialog(k.container,440,240,!0,!0);k.init()})})}));a.actions.addAction("googleDocs...",function(){window.open("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)m=a.actions.addAction("scratchpad",
function(){a.toggleScratchpad()}),m.setToggleAction(!0),m.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,156,!0,!1)});m=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});m.setToggleAction(!0);m.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var g=f.getElementsByTagName("form")[0],k=f.getElementsByTagName("input")[0];null!=k&&null!=g&&(mxEvent.addListener(g,"submit",function(){if(EditorUi.enableLogging)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=helpsearch:"+encodeURIComponent(k.value)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(C){}window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,
function(a){document.activeElement!=k&&k.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){k.focus()},0));this.addMenuItems(c,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(c,["feedback"]);this.addMenuItems(c,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,
function(){var a=b.getGraphBounds(),c=b.view.translate,e=b.view.scale;b.insertVertex(d,null,"",a.x/e-c.x,a.y/e-c.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),this.addMenuItems(c,["-","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);
e.translate(Math.floor((1-c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(c,["testXmlImageExport"],
d),mxResources.parse("testVsdxExport=Vsdx Export"),this.editorUi.actions.addAction("testVsdxExport",mxUtils.bind(this,function(){(new VsdxExport(this.editorUi)).exportCurrentDiagrams()})),this.addMenuItems(c,["testVsdxExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var 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(c,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(c,["-","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(){var b=a.getCurrentFile();if("1"==urlParams.embed||null!=b&&b.isEditable())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,k,l,m,n){a.createHtml(b,c,d,e,f,g,k,l,m,n,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 c=b.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((c.y+c.height-b.view.translate.y)/b.view.scale)+2,function(b,c,d,e,f,g,k,l){a.spinner.spin(document.body,
mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(m){a.spinner.stop();m=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+a.createLink(b,c,d,e,f,g,m)+'"></iframe>');a.showDialog(m.container,440,240,!0,!0);m.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(k){a.spinner.stop();k=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,k));a.showDialog(k.container,440,240,!0,!0);k.init()})})}));a.actions.addAction("googleDocs...",function(){window.open("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)m=
a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}),m.setToggleAction(!0),m.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,156,!0,!1)});m=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});m.setToggleAction(!0);m.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});
"1"==urlParams.embed&&(a.actions.get("save").funct=function(c){b.isEditing()&&b.stopEditing();var d="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=d;c&&(e.exit=!0);d=JSON.stringify(e)}(window.opener||window.parent).postMessage(d,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""))},a.actions.addAction("saveAndExit",
function(){a.actions.get("save").funct(!0)}),a.actions.addAction("exit",function(){var b=function(){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(c,d){a.isExportToCanvas()?(c.addItem(mxResources.get("formatPng")+
"...",null,mxUtils.bind(this,function(){a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){a=parseInt(a);!isNaN(a)&&0<a&&this.editorUi.exportImage(a/100,b,c,d,e,g,!k,l)}),!0,!1)}),d),a.jpgSupported&&c.addItem(mxResources.get("formatJpg")+"...",null,mxUtils.bind(this,function(){a.showExportJpgDialog("https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,

View file

@ -2669,17 +2669,17 @@ W.style.textAlign="right";X.style.textAlign="right";mxUtils.write(W,mxResources.
"focus",function(){P.checked=!0});mxEvent.addListener(T,"focus",function(){P.checked=!0});k=document.createElement("span");mxUtils.write(k,mxResources.get("fitToSheetsDown"));J.appendChild(k);S.appendChild(W);S.appendChild(K);S.appendChild(da);C.appendChild(X);C.appendChild(O);C.appendChild(J);aa.appendChild(S);aa.appendChild(C);t.appendChild(aa);m.appendChild(t);f.appendChild(m);m=document.createElement("div");k=document.createElement("div");k.style.fontWeight="bold";k.style.marginBottom="12px";
mxUtils.write(k,mxResources.get("paperSize"));m.appendChild(k);k=document.createElement("div");k.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(k,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);m.appendChild(k);k=document.createElement("span");mxUtils.write(k,mxResources.get("pageScale"));m.appendChild(k);var Y=document.createElement("input");Y.style.cssText="margin:0 8px 0 8px;";Y.setAttribute("value","100 %");Y.style.width="60px";m.appendChild(Y);
f.appendChild(m);k=document.createElement("div");k.style.cssText="text-align:right;margin:62px 0 0 0;";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";a.editor.cancelFirst&&k.appendChild(m);a.isOffline()||(t=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),t.className="geBtn",k.appendChild(t));PrintDialog.previewEnabled&&(t=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();
d(!1)}),t.className="geBtn",k.appendChild(t));t=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});t.className="geBtn gePrimaryBtn";k.appendChild(t);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;
EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(p){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();
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.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=
2E9,k.style.left=Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+
"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<
8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(r){}return c};EditorUi.prototype.validateFileData=
d(!1)}),t.className="geBtn",k.appendChild(t));t=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});t.className="geBtn gePrimaryBtn";k.appendChild(t);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.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;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(p){}};b.src=
"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();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.movePickersToTop=
function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=2E9,k.style.left=
Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+"px")),this.pause=
mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<
16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(r){}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 e=d.length-1;0<=e;e--){var f=this.updatePageRoot(new DiagramPage(d[e]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[e+1]));b.model.execute(new ChangePage(this,f,0==e?f: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(e=0;e<c.length;e++)b.model.execute(new ChangePage(this,c[e],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,f,g,t,u,x){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;u=null!=u?u:!0;var k,l=null;null==c||

78
war/js/atlas.min.js vendored
View file

@ -3201,7 +3201,7 @@ q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteract
"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top",null,null,1.6);this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<u.length;b++)"Bottom Navigation"==u[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==u[b]?this.addGMDLBottomSheetsPalette():"Buttons"==u[b]?this.addGMDLButtonsPalette():"Cards"==u[b]?this.addGMDLCardsPalette():"Chips"==u[b]?this.addGMDLChipsPalette():"Dialogs"==
u[b]?this.addGMDLDialogsPalette():"Dividers"==u[b]?this.addGMDLDividersPalette():"Grid Lists"==u[b]?this.addGMDLGridListsPalette():"Icons"==u[b]?this.addGMDLIconsPalette():"Lists"==u[b]?this.addGMDLListsPalette():"Menus"==u[b]?this.addGMDLMenusPalette():"Misc"==u[b]?this.addGMDLMiscPalette():"Pickers"==u[b]?this.addGMDLPickersPalette():"Selection Controls"==u[b]?this.addGMDLSelectionControlsPalette():"Sliders"==u[b]?this.addGMDLSlidersPalette():"Steppers"==u[b]?this.addGMDLSteppersPalette():"Tabs"==
u[b]?this.addGMDLTabsPalette():"Text Fields"==u[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var f=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,d,c,m,n,p,q){f.apply(this,arguments);p=null!=p?p:1;mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(b,a,d,e,f){if(null==m||0>mxUtils.indexOf(m,
a))d=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+c+'" w="'+Math.round(e*p)+'" h="'+Math.round(f*p)+'"'+(null!=d?' tags="'+d+'"':"")+"/>")}),!0)}}var d=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,c,f,m){var e=f;if(this.editorUi.enableLogging&&!this.editorUi.isOffline()&&0==c)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=shapesearch:"+encodeURIComponent(b)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(p){}f=
a))d=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+c+'" w="'+Math.round(e*p)+'" h="'+Math.round(f*p)+'"'+(null!=d?' tags="'+d+'"':"")+"/>")}),!0)}}var d=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,c,f,m){var e=f;if(EditorUi.enableLogging&&!this.editorUi.isOffline()&&0==c)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=shapesearch:"+encodeURIComponent(b)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(p){}f=
mxUtils.bind(this,function(d,f,g,k){!this.editorUi.isOffline()&&d.length<=a/4?(g=c-Math.ceil((f-a/4)/a),mxUtils.get(ICONSEARCH_PATH+"?v=2&q="+encodeURIComponent(b)+"&p="+g+"&c="+a,mxUtils.bind(this,function(b){try{if(200<=b.getStatus()&&299>=b.getStatus())try{var g=JSON.parse(b.getText());if(null==g||null==g.icons)e(d,f,!1,k),this.editorUi.handleError(g);else{for(b=0;b<g.icons.length;b++){for(var l=g.icons[b].raster_sizes,m=l.length-1;0<m&&128<l[m].size;)m--;var n=l[m].size,p=l[m].formats[0].preview_url;
null!=n&&null!=p&&mxUtils.bind(this,function(b,a){d.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+a,b,b,"")}))})(n,p)}e(d,(c-1)*a+d.length,g.icons.length==a,k)}}catch(C){e(d,f,!1,k),this.editorUi.handleError(C)}else e(d,f,!1,k),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(C){e(d,f,!1,k),this.editorUi.handleError(C)}},
function(){e(d,f,!1,k)}))):e(d,f,g||!this.editorUi.isOffline(),k)});d.apply(this,arguments)};var b=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(a,d,c){var e=this.editorUi.editor.graph,f=!1;if(null!=a&&1==e.getSelectionCount()&&e.getModel().isVertex(a[0])){var g=e.cloneCells(a)[0];if(e.getModel().isEdge(e.getSelectionCell())&&null==e.getModel().getTerminal(e.getSelectionCell(),!1)&&e.getModel().isVertex(g)){e.getModel().beginUpdate();try{var k=e.view.getState(e.getSelectionCell());
@ -7866,17 +7866,17 @@ V.style.textAlign="right";Y.style.textAlign="right";mxUtils.write(V,mxResources.
mxResources.get("paperSize"));m.appendChild(k);k=document.createElement("div");k.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(k,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);m.appendChild(k);k=document.createElement("span");mxUtils.write(k,mxResources.get("pageScale"));m.appendChild(k);var aa=document.createElement("input");aa.style.cssText="margin:0 8px 0 8px;";aa.setAttribute("value","100 %");aa.style.width="60px";m.appendChild(aa);f.appendChild(m);
k=document.createElement("div");k.style.cssText="text-align:right;margin:62px 0 0 0;";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";a.editor.cancelFirst&&k.appendChild(m);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className="geBtn",k.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),
v.className="geBtn",k.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";k.appendChild(v);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();
(function(){EditorUi.VERSION="6.7.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;
EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(p){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();
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.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=
2E9,k.style.left=Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+
"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<
8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(t){}return c};EditorUi.prototype.validateFileData=
(function(){EditorUi.VERSION="6.7.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.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;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(p){}};b.src=
"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();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.movePickersToTop=
function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=2E9,k.style.left=
Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+"px")),this.pause=
mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<
16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(t){}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 e=d.length-1;0<=e;e--){var f=this.updatePageRoot(new DiagramPage(d[e]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[e+1]));b.model.execute(new ChangePage(this,f,0==e?f: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(e=0;e<c.length;e++)b.model.execute(new ChangePage(this,c[e],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,f,g,u,v,x){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;v=null!=v?v:!0;var k,l=null;null==c||
@ -8117,15 +8117,15 @@ App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage
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)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var a=mxSettings.getPlugins(),c=urlParams.p;if(null!=c||null!=a&&0<a.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=c)for(var f=c.split(";"),c=0;c<f.length;c++){var d=App.pluginRegistry[f[c]];null!=d?mxscript(d):null!=window.console&&console.log("Unknown plugin:",f[c])}if(null!=a&&0<a.length&&"0"!=urlParams.plugins){f=window.location.protocol+
"//"+window.location.host;d=!0;for(c=0;c<a.length&&d;c++)"/"!=a[c].charAt(0)&&a[c].substring(0,f.length)!=f&&(d=!1);if(d||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",[a.join("\n")]).replace(/\\n/g,"\n")))for(c=0;c<a.length;c++)try{mxscript(a[c])}catch(b){}}}})();
App.main=function(a){var c=null;window.onerror=function(a,b,e,f,k){try{if(a!=c&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var d=new Image,g=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";d.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+
encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"&stack="+encodeURIComponent(k.stack):"")}}catch(n){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width","0");f.setAttribute("height",
"0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=f;)"shapes"==f.nodeName&&
null!=f.getAttribute("name")&&(mxStencilRegistry.stencilSet[f.getAttribute("name").toLowerCase()]=f,mxStencilRegistry.parseStencilSet(f)),f=f.nextSibling}"0"==urlParams.picker||mxClient.IS_QUIRKS||8==document.documentMode||mxscript(document.location.protocol+"//www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"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"):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?
[f]:[f,STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=new App(new Editor("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)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};
mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.main=function(a){var c=null;EditorUi.enableLogging&&(window.onerror=function(a,b,e,f,k){try{if(a!=c&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var d=new Image,g=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";d.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+g+"&v="+encodeURIComponent(EditorUi.VERSION)+
"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"&stack="+encodeURIComponent(k.stack):"")}}catch(n){}});"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width",
"0");f.setAttribute("height","0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=
f;)"shapes"==f.nodeName&&null!=f.getAttribute("name")&&(mxStencilRegistry.stencilSet[f.getAttribute("name").toLowerCase()]=f,mxStencilRegistry.parseStencilSet(f)),f=f.nextSibling}"0"==urlParams.picker||mxClient.IS_QUIRKS||8==document.documentMode||mxscript(document.location.protocol+"//www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"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"):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);
mxUtils.getAll("1"!=urlParams.dev?[f]:[f,STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=new App(new Editor("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)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML=
'Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
IMAGE_PATH+"/chevron-up.png";
App.prototype.chevronDownImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC":IMAGE_PATH+
@ -8299,24 +8299,24 @@ this.findWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObje
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 q=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=q.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(c,d){if(!mxClient.IS_CHROMEAPP&&a.isOffline())this.addMenuItems(c,["about"]);else{var e=c.addItem("Search",null,null,d,null,null,!1),f=document.createElement("div");f.style.display="inline";f.innerHTML=':<form style="display:inline;margin-left:8px;"target="_blank" method="get" action="https://desk.draw.io/support/search/solutions"><input type="text" name="term" size="25"></form>';e.firstChild.nextSibling.appendChild(f);
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var g=f.getElementsByTagName("form")[0],k=f.getElementsByTagName("input")[0];null!=k&&null!=g&&(mxEvent.addListener(g,"submit",function(){if(a.enableLogging)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=helpsearch:"+encodeURIComponent(k.value)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(C){}window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,function(a){document.activeElement!=
k&&k.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){k.focus()},0));this.addMenuItems(c,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(c,["feedback"]);this.addMenuItems(c,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=b.getGraphBounds(),
c=b.view.translate,e=b.view.scale;b.insertVertex(d,null,"",a.x/e-c.x,a.y/e-c.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),this.addMenuItems(c,["-","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-
c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(c,["testXmlImageExport"],d),mxResources.parse("testVsdxExport=Vsdx Export"),
this.editorUi.actions.addAction("testVsdxExport",mxUtils.bind(this,function(){(new VsdxExport(this.editorUi)).exportCurrentDiagrams()})),this.addMenuItems(c,["testVsdxExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&
(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var 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(c,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(c,["-","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(){var b=a.getCurrentFile();if("1"==urlParams.embed||null!=b&&b.isEditable())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,k,l,m,n){a.createHtml(b,c,d,e,f,g,k,l,m,n,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 c=b.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((c.y+c.height-b.view.translate.y)/b.view.scale)+2,function(b,c,d,e,f,g,k,l){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),
function(m){a.spinner.stop();m=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+a.createLink(b,c,d,e,f,g,m)+'"></iframe>');a.showDialog(m.container,440,240,!0,!0);m.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(k){a.spinner.stop();k=new EmbedDialog(a,
a.createLink(b,c,d,e,f,g,k));a.showDialog(k.container,440,240,!0,!0);k.init()})})}));a.actions.addAction("googleDocs...",function(){window.open("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)m=a.actions.addAction("scratchpad",
function(){a.toggleScratchpad()}),m.setToggleAction(!0),m.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,156,!0,!1)});m=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});m.setToggleAction(!0);m.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var g=f.getElementsByTagName("form")[0],k=f.getElementsByTagName("input")[0];null!=k&&null!=g&&(mxEvent.addListener(g,"submit",function(){if(EditorUi.enableLogging)try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity=CONFIG&msg=helpsearch:"+encodeURIComponent(k.value)+"&v="+encodeURIComponent(EditorUi.VERSION)}catch(C){}window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,
function(a){document.activeElement!=k&&k.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){k.focus()},0));this.addMenuItems(c,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(c,["feedback"]);this.addMenuItems(c,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,
function(){var a=b.getGraphBounds(),c=b.view.translate,e=b.view.scale;b.insertVertex(d,null,"",a.x/e-c.x,a.y/e-c.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),this.addMenuItems(c,["-","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);
e.translate(Math.floor((1-c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(c,["testXmlImageExport"],
d),mxResources.parse("testVsdxExport=Vsdx Export"),this.editorUi.actions.addAction("testVsdxExport",mxUtils.bind(this,function(){(new VsdxExport(this.editorUi)).exportCurrentDiagrams()})),this.addMenuItems(c,["testVsdxExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var 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(c,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(c,["-","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(){var b=a.getCurrentFile();if("1"==urlParams.embed||null!=b&&b.isEditable())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,k,l,m,n){a.createHtml(b,c,d,e,f,g,k,l,m,n,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 c=b.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((c.y+c.height-b.view.translate.y)/b.view.scale)+2,function(b,c,d,e,f,g,k,l){a.spinner.spin(document.body,
mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(m){a.spinner.stop();m=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+a.createLink(b,c,d,e,f,g,m)+'"></iframe>');a.showDialog(m.container,440,240,!0,!0);m.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(k){a.spinner.stop();k=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,k));a.showDialog(k.container,440,240,!0,!0);k.init()})})}));a.actions.addAction("googleDocs...",function(){window.open("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)m=
a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}),m.setToggleAction(!0),m.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,156,!0,!1)});m=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});m.setToggleAction(!0);m.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});
"1"==urlParams.embed&&(a.actions.get("save").funct=function(c){b.isEditing()&&b.stopEditing();var d="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=d;c&&(e.exit=!0);d=JSON.stringify(e)}(window.opener||window.parent).postMessage(d,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""))},a.actions.addAction("saveAndExit",
function(){a.actions.get("save").funct(!0)}),a.actions.addAction("exit",function(){var b=function(){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(c,d){a.isExportToCanvas()?(c.addItem(mxResources.get("formatPng")+
"...",null,mxUtils.bind(this,function(){a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,c,d,e,f,g,k,l){a=parseInt(a);!isNaN(a)&&0<a&&this.editorUi.exportImage(a/100,b,c,d,e,g,!k,l)}),!0,!1)}),d),a.jpgSupported&&c.addItem(mxResources.get("formatJpg")+"...",null,mxUtils.bind(this,function(){a.showExportJpgDialog("https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,

View file

@ -435,38 +435,41 @@ App.main = function(callback)
var lastErrorMessage = null;
// Changes top level error handling
window.onerror = function(message, url, linenumber, colno, err)
if (EditorUi.enableLogging)
{
try
window.onerror = function(message, url, linenumber, colno, err)
{
if (message == lastErrorMessage || (message != null && url != null &&
((message.indexOf('Script error') != -1) || (message.indexOf('extension') != -1))))
try
{
// TODO log external domain script failure "Script error." is
// reported when the error occurs in a script that is hosted
// on a domain other than the domain of the current page
if (message == lastErrorMessage || (message != null && url != null &&
((message.indexOf('Script error') != -1) || (message.indexOf('extension') != -1))))
{
// TODO log external domain script failure "Script error." is
// reported when the error occurs in a script that is hosted
// on a domain other than the domain of the current page
}
// DocumentClosedError seems to be an FF bug an can be ignored for now
else if (message != null && message.indexOf('DocumentClosedError') < 0)
{
lastErrorMessage = message;
var img = new Image();
var severity = (message.indexOf('NetworkError') >= 0 || message.indexOf('SecurityError') >= 0 ||
message.indexOf('NS_ERROR_FAILURE') >= 0 || message.indexOf('out of memory') >= 0) ?
'CONFIG' : 'SEVERE';
var logDomain = window.DRAWIO_LOG_URL != null ? window.DRAWIO_LOG_URL : '';
img.src = logDomain + '/log?severity=' + severity + '&v=' + encodeURIComponent(EditorUi.VERSION) +
'&msg=clientError:' + encodeURIComponent(message) + ':url:' + encodeURIComponent(window.location.href) +
':lnum:' + encodeURIComponent(linenumber) +
((colno != null) ? ':colno:' + encodeURIComponent(colno) : '') +
((err != null && err.stack != null) ? '&stack=' + encodeURIComponent(err.stack) : '');
}
}
// DocumentClosedError seems to be an FF bug an can be ignored for now
else if (message != null && message.indexOf('DocumentClosedError') < 0)
catch (err)
{
lastErrorMessage = message;
var img = new Image();
var severity = (message.indexOf('NetworkError') >= 0 || message.indexOf('SecurityError') >= 0 ||
message.indexOf('NS_ERROR_FAILURE') >= 0 || message.indexOf('out of memory') >= 0) ?
'CONFIG' : 'SEVERE';
var logDomain = window.DRAWIO_LOG_URL != null ? window.DRAWIO_LOG_URL : '';
img.src = logDomain + '/log?severity=' + severity + '&v=' + encodeURIComponent(EditorUi.VERSION) +
'&msg=clientError:' + encodeURIComponent(message) + ':url:' + encodeURIComponent(window.location.href) +
':lnum:' + encodeURIComponent(linenumber) +
((colno != null) ? ':colno:' + encodeURIComponent(colno) : '') +
((err != null && err.stack != null) ? '&stack=' + encodeURIComponent(err.stack) : '');
// do nothing
}
}
catch (err)
{
// do nothing
}
};
};
}
/**
* Lazy loading of additional CSS for atlas theme.

View file

@ -13,6 +13,11 @@
* Overrides compact UI setting.
*/
EditorUi.compactUi = uiTheme != 'atlas';
/**
* Switch to disable logging for mode and search terms.
*/
EditorUi.enableLogging = /.*\.draw\.io$/.test(window.location.hostname);
/**
* https://github.com/electron/electron/issues/2288
@ -74,11 +79,6 @@
* Holds the current file.
*/
EditorUi.prototype.currentFile = null;
/**
* Switch to disable logging for mode and search terms.
*/
EditorUi.prototype.enableLogging = /.*\.draw\.io$/.test(window.location.hostname);
/**
* Specifies if PDF export should be done via print dialog. Default is

View file

@ -255,6 +255,5 @@ var lastIndex = host.lastIndexOf(searchString, position);
if (lastIndex !== -1 && lastIndex === position && host != 'test.draw.io')
{
// endsWith polyfill
window.DRAWIO_LOG_URL = 'https://log.draw.io';
}
}

View file

@ -602,7 +602,7 @@
mxEvent.addListener(realForm, 'submit', function()
{
// Logs search terms for improving search results
if (editorUi.enableLogging)
if (EditorUi.enableLogging)
{
try
{

View file

@ -1057,7 +1057,7 @@
var succ = success;
// Logs search terms for improving search results
if (this.editorUi.enableLogging && !this.editorUi.isOffline() && page == 0)
if (EditorUi.enableLogging && !this.editorUi.isOffline() && page == 0)
{
try
{

View file

@ -361,8 +361,7 @@ function VsdxExport(editorUi, resDir)
return 6;
};
//TODO add edge group support (e.g. when edge has multiple labels)
function convertMxEdge2Shape(cell, graph, xmlDoc, parentHeight, parentGeo)
function createEdge(cell, graph, xmlDoc, parentHeight)
{
var state = graph.view.getState(cell);
@ -507,12 +506,8 @@ function VsdxExport(editorUi, resDir)
for (var i = 0; i < cell.children.length; i++)
{
var child = cell.children[i];
var subShape;
if (child.vertex)
subShape = convertMxCell2Shape(child, graph, xmlDoc, geo.height, geo);
else
subShape = convertMxEdge2Shape(child, graph, xmlDoc, geo.height, geo);
var subShape = convertMxCell2Shape(child, graph, xmlDoc, geo.height, geo);
gShapes.appendChild(subShape);
}
@ -524,7 +519,7 @@ function VsdxExport(editorUi, resDir)
return shape;
}
else
else if (cell.vertex)
{
var shape = createShape(cell.id, geo, xmlDoc, parentHeight);
@ -556,6 +551,10 @@ function VsdxExport(editorUi, resDir)
return shape;
}
else
{
return createEdge(cell, graph, xmlDoc, parentHeight);
}
}
else
{
@ -590,6 +589,7 @@ function VsdxExport(editorUi, resDir)
shiftY = Math.ceil((t.y - bounds.y / s) / graph.pageFormat.height) * graph.pageFormat.height;
}
vsdxCanvas.save();
vsdxCanvas.translate(-t.x + shiftX, -t.y + shiftY);
vsdxCanvas.scale(1 / s);
vsdxCanvas.newPage();
@ -602,12 +602,7 @@ function VsdxExport(editorUi, resDir)
//top-most cells
if (cell.parent == defParent)
{
var shape;
if (cell.vertex)
shape = convertMxCell2Shape(cell, graph, xmlDoc, modelAttrib.pageHeight);
else
shape = convertMxEdge2Shape(cell, graph, xmlDoc, modelAttrib.pageHeight);
var shape = convertMxCell2Shape(cell, graph, xmlDoc, modelAttrib.pageHeight);
if (shape != null)
shapes.appendChild(shape);
@ -646,6 +641,8 @@ function VsdxExport(editorUi, resDir)
xmlDoc.appendChild(root);
vsdxCanvas.restore();
return xmlDoc;
};

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+x.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");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,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:"6.7.2",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:"6.7.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+x.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");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,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:"6.7.2",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:"6.7.3",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/")||

22
war/js/viewer.min.js vendored
View file

@ -2681,17 +2681,17 @@ W.style.textAlign="right";X.style.textAlign="right";mxUtils.write(W,mxResources.
mxUtils.write(k,mxResources.get("paperSize"));m.appendChild(k);k=document.createElement("div");k.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(k,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);m.appendChild(k);k=document.createElement("span");mxUtils.write(k,mxResources.get("pageScale"));m.appendChild(k);var Y=document.createElement("input");Y.style.cssText="margin:0 8px 0 8px;";Y.setAttribute("value","100 %");Y.style.width="60px";m.appendChild(Y);
f.appendChild(m);k=document.createElement("div");k.style.cssText="text-align:right;margin:62px 0 0 0;";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";a.editor.cancelFirst&&k.appendChild(m);a.isOffline()||(t=mxUtils.button(mxResources.get("help"),function(){window.open("https://desk.draw.io/support/solutions/articles/16000048947")}),t.className="geBtn",k.appendChild(t));PrintDialog.previewEnabled&&(t=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();
d(!1)}),t.className="geBtn",k.appendChild(t));t=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});t.className="geBtn gePrimaryBtn";k.appendChild(t);a.editor.cancelFirst||k.appendChild(m);f.appendChild(k);this.container=f}})();
(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;
EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(p){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();
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.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=
2E9,k.style.left=Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+
"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<
8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(r){}return c};EditorUi.prototype.validateFileData=
(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;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.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;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=c&&6<c.length}catch(p){}};b.src=
"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{a=document.createElement("canvas");a.width=a.height=1;var c=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==c.match("image/jpeg")}catch(n){}})();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.movePickersToTop=
function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return mxClient.IS_FF&&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:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=d.spin;d.spin=function(c,f){var k=!1;this.active||(e.call(this,c),this.active=!0,null!=f&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize="9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=2E9,k.style.left=
Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),k.innerHTML=f+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+"px")),this.pause=
mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return a}),k=!0);return k};var f=d.stop;d.stop=function(){f.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=f;f+=b;return a.substring(c,f)}function e(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<
16)+(a.charCodeAt(0)<<24)}var f=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=e(a);var k=d(a,4);if(null!=b&&b(f-8,k,c))break;value=d(a,c);d(a,4);if("IEND"==k)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(n){}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 e=b.lastIndexOf("&lt;/mxfile&gt;");e>d&&(c=b.substring(d,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var f=mxUtils.parseXml(b),k=this.editor.extractGraphModel(f.documentElement,null!=this.pages),c=null!=k?mxUtils.getXml(k):""}catch(r){}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 e=d.length-1;0<=e;e--){var f=this.updatePageRoot(new DiagramPage(d[e]));null==f.getName()&&f.setName(mxResources.get("pageWithNumber",[e+1]));b.model.execute(new ChangePage(this,f,0==e?f: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(e=0;e<c.length;e++)b.model.execute(new ChangePage(this,c[e],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,f,g,t,u,x){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;u=null!=u?u:!0;var k,l=null;null==c||

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,30 +1,30 @@
<shapes name="mxgraph.gcp.compute">
<shape aspect="variable" h="115.01" name="App Engine" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="App Engine" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="121.72" y="74.89"/>
<line x="101.78" y="54.95"/>
<move x="101.78" y="54.95"/>
<line x="101.09" y="54.74"/>
<line x="66.2" y="19.85"/>
<line x="59.03" y="30.32"/>
@ -33,81 +33,59 @@
<line x="43.8" y="57.06"/>
<line x="37.94" y="51.21"/>
<line x="27.39" y="60.47"/>
<line x="81.78" y="114.86"/>
<line x="98.18" y="115.01"/>
<line x="80.85" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="120.59" y="73.77"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.51" y="33.92"/>
<curve x1="51.79" x2="41.47" x3="41.47" y1="33.92" y2="44.24" y3="56.97"/>
<curve x1="41.47" x2="51.79" x3="64.51" y1="69.7" y2="80.02" y3="80.02"/>
<curve x1="77.24" x2="87.56" x3="87.56" y1="80.02" y2="69.7" y3="56.97"/>
<curve x1="87.56" x2="77.24" x3="64.51" y1="44.24" y2="33.92" y3="33.92"/>
<move x="64.51" y="74.46"/>
<curve x1="54.85" x2="47.03" x3="47.03" y1="74.46" y2="66.63" y3="56.97"/>
<curve x1="47.03" x2="54.85" x3="64.51" y1="47.31" y2="39.48" y3="39.48"/>
<curve x1="74.17" x2="82" x3="82" y1="39.48" y2="47.31" y3="56.97"/>
<curve x1="82" x2="74.17" x3="64.51" y1="66.63" y2="74.46" y3="74.46"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="1" rx="23.05" ry="23.05" sweep-flag="0" x="87.56" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="23.04" ry="23.04" sweep-flag="0" x="64.51" x-axis-rotation="0" y="33.92"/>
<move x="64.51" y="74.45"/>
<arc large-arc-flag="1" rx="17.49" ry="17.49" sweep-flag="1" x="82" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="17.49" ry="17.49" sweep-flag="1" x="64.51" x-axis-rotation="0" y="74.46"/>
<move x="100.66" y="54.24"/>
<line x="91.05" y="51.22"/>
<curve x1="91.45" x2="91.66" x3="91.66" y1="53.07" y2="55" y3="56.97"/>
<curve x1="91.66" x2="91.56" x3="91.36" y1="58.35" y2="59.7" y3="61.03"/>
<arc large-arc-flag="0" rx="27.26" ry="27.26" sweep-flag="1" x="91.36" x-axis-rotation="0" y="61.03"/>
<line x="100.66" y="61.03"/>
<curve x1="101.52" x2="102.09" x3="102.09" y1="60.77" y2="60.24" y3="59.45"/>
<arc large-arc-flag="0" rx="1.7" ry="1.7" sweep-flag="0" x="102.09" x-axis-rotation="0" y="59.45"/>
<line x="102.09" y="55.81"/>
<curve x1="102.09" x2="101.52" x3="100.66" y1="55.02" y2="54.48" y3="54.24"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.68" ry="1.68" sweep-flag="0" x="100.66" x-axis-rotation="0" y="54.24"/>
<move x="64.51" y="29.82"/>
<curve x1="66.44" x2="68.32" x3="70.13" y1="29.82" y2="30.02" y3="30.4"/>
<arc large-arc-flag="0" rx="27.2" ry="27.2" sweep-flag="1" x="70.13" x-axis-rotation="0" y="30.4"/>
<line x="66.69" y="20.83"/>
<curve x1="66.44" x2="65.91" x3="65.11" y1="19.97" y2="19.4" y3="19.4"/>
<arc large-arc-flag="0" rx="1.7" ry="1.7" sweep-flag="0" x="65.11" x-axis-rotation="0" y="19.4"/>
<line x="63.67" y="19.4"/>
<curve x1="62.88" x2="62.33" x3="62.1" y1="19.4" y2="19.97" y3="20.83"/>
<arc large-arc-flag="0" rx="1.68" ry="1.68" sweep-flag="0" x="62.1" x-axis-rotation="0" y="20.83"/>
<line x="59.11" y="30.36"/>
<curve x1="60.85" x2="62.66" x3="64.51" y1="30" y2="29.82" y3="29.82"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="27.28" ry="27.28" sweep-flag="1" x="64.51" x-axis-rotation="0" y="29.82"/>
<move x="37.36" y="56.97"/>
<curve x1="37.36" x2="37.58" x3="37.98" y1="55" y2="53.08" y3="51.22"/>
<arc large-arc-flag="0" rx="27.29" ry="27.29" sweep-flag="1" x="37.98" x-axis-rotation="0" y="51.22"/>
<line x="28.37" y="54.24"/>
<curve x1="27.51" x2="26.94" x3="26.94" y1="54.48" y2="55.02" y3="55.82"/>
<arc large-arc-flag="0" rx="1.68" ry="1.68" sweep-flag="0" x="26.94" x-axis-rotation="0" y="55.82"/>
<line x="26.94" y="59.45"/>
<curve x1="26.94" x2="27.51" x3="28.37" y1="60.24" y2="60.77" y3="61.03"/>
<arc large-arc-flag="0" rx="1.7" ry="1.7" sweep-flag="0" x="28.37" x-axis-rotation="0" y="61.03"/>
<line x="37.66" y="61.03"/>
<curve x1="37.47" x2="37.36" x3="37.36" y1="59.7" y2="58.35" y3="56.97"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="27.39" ry="27.39" sweep-flag="1" x="37.36" x-axis-rotation="0" y="56.97"/>
<move x="72.74" y="49.45"/>
<line x="70.56" y="51.63"/>
<line x="70.56" y="51.62"/>
<curve x1="69" x2="66.91" x3="64.69" y1="50.06" y2="49.2" y3="49.2"/>
<curve x1="62.47" x2="60.39" x3="58.82" y1="49.2" y2="50.06" y3="51.63"/>
<curve x1="55.59" x2="55.59" x3="58.82" y1="54.86" y2="60.13" y3="63.37"/>
<arc large-arc-flag="0" rx="8.3" ry="8.3" sweep-flag="0" x="58.82" x-axis-rotation="0" y="63.37"/>
<line x="56.64" y="65.55"/>
<curve x1="58.7" x2="61.55" x3="64.69" y1="67.61" y2="68.88" y3="68.88"/>
<curve x1="70.97" x2="76.08" x3="76.08" y1="68.88" y2="63.78" y3="57.49"/>
<curve x1="76.08" x2="74.8" x3="72.74" y1="54.35" y2="51.51" y3="49.45"/>
<arc large-arc-flag="1" rx="11.38" ry="11.38" sweep-flag="0" x="72.74" x-axis-rotation="0" y="49.45"/>
<move x="68.24" y="60.7"/>
<curve x1="67.21" x2="65.86" x3="64.51" y1="61.73" y2="62.25" y3="62.25"/>
<curve x1="63.16" x2="61.81" x3="60.78" y1="62.25" y2="61.73" y3="60.7"/>
<curve x1="58.72" x2="58.72" x3="60.78" y1="58.64" y2="55.3" y3="53.24"/>
<curve x1="61.81" x2="63.16" x3="64.51" y1="52.21" y2="51.69" y3="51.69"/>
<curve x1="65.86" x2="67.21" x3="68.24" y1="51.69" y2="52.21" y3="53.24"/>
<curve x1="70.3" x2="70.3" x3="68.24" y1="55.3" y2="58.64" y3="60.7"/>
<arc large-arc-flag="1" rx="5.28" ry="5.28" sweep-flag="1" x="68.24" x-axis-rotation="0" y="53.24"/>
<arc large-arc-flag="0" rx="5.25" ry="5.25" sweep-flag="1" x="68.24" x-axis-rotation="0" y="60.7"/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Cloud Functions" strokewidth="inherit" w="129.03">
@ -117,20 +95,21 @@
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.0"/>
<line x="90.76" y="0.0"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.72" x-axis-rotation="0.0" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="126.97" x-axis-rotation="0.0" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.3" x-axis-rotation="0.0" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
@ -152,15 +131,16 @@
<line x="45.26" y="82.78"/>
<line x="76.41" y="113.93"/>
<line x="90.77" y="113.93"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="0.0" x="100.72" x-axis-rotation="0.0" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="122.61" y="70.28"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#ffffff"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="45.1" y="82.53"/>
<line x="50.4" y="77.24"/>
@ -172,15 +152,6 @@
<line x="34.51" y="71.94"/>
<line x="45.1" y="82.53"/>
<close/>
</path>
<fillstroke/>
<ellipse h="7.5" w="7.5" x="49.54" y="53.22"/>
<fillstroke/>
<ellipse h="7.5" w="7.5" x="60.77" y="53.22"/>
<fillstroke/>
<ellipse h="7.5" w="7.5" x="71.99" y="53.22"/>
<fillstroke/>
<path>
<move x="83.88" y="31.4"/>
<line x="78.58" y="36.7"/>
<line x="86.51" y="44.63"/>
@ -192,35 +163,41 @@
<line x="83.88" y="31.4"/>
<close/>
</path>
<fillstroke/>
<fill/>
<ellipse h="7.5" w="7.5" x="49.54" y="53.22"/>
<fill/>
<ellipse h="7.5" w="7.5" x="60.77" y="53.22"/>
<fill/>
<ellipse h="7.5" w="7.5" x="71.99" y="53.22"/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="115.04" name="Compute Engine" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Compute Engine" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="119.73" y="76.08"/>
<line x="76.15" y="32.5"/>
<move x="76.15" y="32.5"/>
<line x="73.05" y="39.22"/>
<line x="66.3" y="32.47"/>
<line x="63.17" y="39.15"/>
@ -231,109 +208,109 @@
<line x="40.01" y="48.71"/>
<line x="46.89" y="55.59"/>
<line x="40.08" y="58.62"/>
<line x="46.89" y="65.44"/>
<line x="46.89" y="65.43"/>
<line x="40.03" y="68.36"/>
<line x="86.72" y="115.04"/>
<line x="98.18" y="115.01"/>
<line x="85.6" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="119.43" y="75.78"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="70.34" y="50.06"/>
<line x="58.94" y="50.06"/>
<curve x1="58.27" x2="57.72" x3="57.72" y1="50.06" y2="50.61" y3="51.28"/>
<line x="57.72" y="62.68"/>
<curve x1="57.72" x2="58.27" x3="58.94" y1="63.35" y2="63.9" y3="63.9"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="57.72" x-axis-rotation="0" y="51.28"/>
<line x="57.72" y="62.69"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="58.94" x-axis-rotation="0" y="63.9"/>
<line x="70.34" y="63.9"/>
<curve x1="71.01" x2="71.56" x3="71.56" y1="63.9" y2="63.35" y3="62.68"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="71.56" x-axis-rotation="0" y="62.68"/>
<line x="71.56" y="51.28"/>
<curve x1="71.56" x2="71.01" x3="70.34" y1="50.61" y2="50.06" y3="50.06"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="70.34" x-axis-rotation="0" y="50.06"/>
<move x="88.4" y="49.14"/>
<curve x1="89.0" x2="89.49" x3="89.49" y1="49.14" y2="48.65" y3="48.05"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="89.49" x-axis-rotation="0" y="48.05"/>
<line x="89.49" y="46.28"/>
<curve x1="89.49" x2="89.0" x3="88.4" y1="45.68" y2="45.19" y3="45.19"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="88.4" x-axis-rotation="0" y="45.19"/>
<line x="82.85" y="45.19"/>
<line x="82.85" y="40.0"/>
<curve x1="82.85" x2="82.31" x3="81.64" y1="39.33" y2="38.79" y3="38.79"/>
<line x="82.85" y="40"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="81.64" x-axis-rotation="0" y="38.79"/>
<line x="76.43" y="38.79"/>
<line x="76.43" y="33.22"/>
<curve x1="76.43" x2="75.94" x3="75.34" y1="32.62" y2="32.13" y3="32.13"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="75.34" x-axis-rotation="0" y="32.13"/>
<line x="73.57" y="32.13"/>
<curve x1="72.97" x2="72.48" x3="72.48" y1="32.13" y2="32.62" y3="33.22"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="72.48" x-axis-rotation="0" y="33.22"/>
<line x="72.48" y="38.79"/>
<line x="66.62" y="38.79"/>
<line x="66.62" y="33.22"/>
<curve x1="66.62" x2="66.13" x3="65.53" y1="32.62" y2="32.13" y3="32.13"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="65.53" x-axis-rotation="0" y="32.13"/>
<line x="63.75" y="32.13"/>
<curve x1="63.15" x2="62.66" x3="62.66" y1="32.13" y2="32.62" y3="33.22"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="62.66" x-axis-rotation="0" y="33.22"/>
<line x="62.66" y="38.79"/>
<line x="56.8" y="38.79"/>
<line x="56.8" y="33.22"/>
<curve x1="56.8" x2="56.31" x3="55.71" y1="32.62" y2="32.13" y3="32.13"/>
<line x="53.94" y="32.13"/>
<curve x1="53.34" x2="52.85" x3="52.85" y1="32.13" y2="32.62" y3="33.22"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="55.71" x-axis-rotation="0" y="32.13"/>
<line x="53.93" y="32.13"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="52.85" x-axis-rotation="0" y="33.22"/>
<line x="52.85" y="38.79"/>
<line x="47.64" y="38.79"/>
<curve x1="46.97" x2="46.43" x3="46.43" y1="38.79" y2="39.33" y3="40.0"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="46.43" x-axis-rotation="0" y="40"/>
<line x="46.43" y="45.19"/>
<line x="40.88" y="45.19"/>
<curve x1="40.28" x2="39.79" x3="39.79" y1="45.19" y2="45.68" y3="46.28"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="39.79" x-axis-rotation="0" y="46.28"/>
<line x="39.79" y="48.05"/>
<curve x1="39.79" x2="40.28" x3="40.88" y1="48.65" y2="49.14" y3="49.14"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="40.88" x-axis-rotation="0" y="49.14"/>
<line x="46.43" y="49.14"/>
<line x="46.43" y="55.0"/>
<line x="40.88" y="55.0"/>
<curve x1="40.28" x2="39.79" x3="39.79" y1="55.0" y2="55.49" y3="56.09"/>
<line x="46.43" y="55"/>
<line x="40.88" y="55"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="39.79" x-axis-rotation="0" y="56.09"/>
<line x="39.79" y="57.87"/>
<curve x1="39.79" x2="40.28" x3="40.88" y1="58.47" y2="58.96" y3="58.96"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="40.88" x-axis-rotation="0" y="58.96"/>
<line x="46.43" y="58.96"/>
<line x="46.43" y="64.82"/>
<line x="40.88" y="64.82"/>
<curve x1="40.28" x2="39.79" x3="39.79" y1="64.82" y2="65.31" y3="65.9"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="39.79" x-axis-rotation="0" y="65.9"/>
<line x="39.79" y="67.68"/>
<curve x1="39.79" x2="40.28" x3="40.88" y1="68.28" y2="68.77" y3="68.77"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="40.88" x-axis-rotation="0" y="68.77"/>
<line x="46.43" y="68.77"/>
<line x="46.43" y="73.96"/>
<curve x1="46.43" x2="46.97" x3="47.64" y1="74.63" y2="75.17" y3="75.17"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="47.64" x-axis-rotation="0" y="75.17"/>
<line x="52.85" y="75.17"/>
<line x="52.85" y="80.74"/>
<curve x1="52.85" x2="53.34" x3="53.94" y1="81.34" y2="81.83" y3="81.83"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="53.94" x-axis-rotation="0" y="81.83"/>
<line x="55.71" y="81.83"/>
<curve x1="56.31" x2="56.8" x3="56.8" y1="81.83" y2="81.34" y3="80.74"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="56.8" x-axis-rotation="0" y="80.74"/>
<line x="56.8" y="75.17"/>
<line x="62.66" y="75.17"/>
<line x="62.66" y="80.74"/>
<curve x1="62.66" x2="63.15" x3="63.75" y1="81.34" y2="81.83" y3="81.83"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="63.75" x-axis-rotation="0" y="81.83"/>
<line x="65.53" y="81.83"/>
<curve x1="66.13" x2="66.62" x3="66.62" y1="81.83" y2="81.34" y3="80.74"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="66.62" x-axis-rotation="0" y="80.74"/>
<line x="66.62" y="75.17"/>
<line x="72.48" y="75.17"/>
<line x="72.48" y="80.74"/>
<curve x1="72.48" x2="72.97" x3="73.57" y1="81.34" y2="81.83" y3="81.83"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="73.57" x-axis-rotation="0" y="81.83"/>
<line x="75.34" y="81.83"/>
<curve x1="75.94" x2="76.43" x3="76.43" y1="81.83" y2="81.34" y3="80.74"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="76.43" x-axis-rotation="0" y="80.74"/>
<line x="76.43" y="75.17"/>
<line x="81.64" y="75.17"/>
<curve x1="82.31" x2="82.85" x3="82.85" y1="75.17" y2="74.63" y3="73.96"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="82.85" x-axis-rotation="0" y="73.96"/>
<line x="82.85" y="68.77"/>
<line x="88.4" y="68.77"/>
<curve x1="89.0" x2="89.49" x3="89.49" y1="68.77" y2="68.28" y3="67.68"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="89.49" x-axis-rotation="0" y="67.68"/>
<line x="89.49" y="65.91"/>
<curve x1="89.49" x2="89.0" x3="88.4" y1="65.31" y2="64.82" y3="64.82"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="88.4" x-axis-rotation="0" y="64.82"/>
<line x="82.85" y="64.82"/>
<line x="82.85" y="58.96"/>
<line x="88.4" y="58.96"/>
<curve x1="89.0" x2="89.49" x3="89.49" y1="58.96" y2="58.47" y3="57.87"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="89.49" x-axis-rotation="0" y="57.87"/>
<line x="89.49" y="56.09"/>
<curve x1="89.49" x2="89.0" x3="88.4" y1="55.49" y2="55.0" y3="55.0"/>
<line x="82.85" y="55.0"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="88.4" x-axis-rotation="0" y="55"/>
<line x="82.85" y="55"/>
<line x="82.85" y="49.14"/>
<line x="88.4" y="49.14"/>
<close/>
@ -341,64 +318,66 @@
<line x="50.52" y="71.1"/>
<line x="50.52" y="42.86"/>
<line x="78.76" y="42.86"/>
<line x="78.76" y="71.1"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="115.15" name="Container Engine" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Container Engine" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="124.57" y="75.83"/>
<line x="90.14" y="41.41"/>
<move x="90.14" y="41.41"/>
<line x="64.51" y="29.97"/>
<line x="40.01" y="43.28"/>
<line x="38.99" y="72.61"/>
<line x="81.53" y="115.15"/>
<line x="98.18" y="115.01"/>
<line x="80.31" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="121.29" y="72.56"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="89.54" y="40.96"/>
<line x="65.86" y="27.29"/>
<curve x1="65.03" x2="64.0" x3="63.16" y1="26.81" y2="26.81" y3="27.29"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="63.16" x-axis-rotation="0" y="27.29"/>
<line x="39.49" y="40.96"/>
<curve x1="38.65" x2="38.14" x3="38.14" y1="41.44" y2="42.33" y3="43.3"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="38.14" x-axis-rotation="0" y="43.3"/>
<line x="38.14" y="70.64"/>
<curve x1="38.14" x2="38.65" x3="39.49" y1="71.6" y2="72.49" y3="72.97"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="39.49" x-axis-rotation="0" y="72.97"/>
<line x="63.16" y="86.64"/>
<curve x1="64.0" x2="65.03" x3="65.86" y1="87.12" y2="87.12" y3="86.64"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="65.86" x-axis-rotation="0" y="86.64"/>
<line x="89.54" y="72.97"/>
<curve x1="90.37" x2="90.89" x3="90.89" y1="72.49" y2="71.6" y3="70.64"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="90.89" x-axis-rotation="0" y="70.64"/>
<line x="90.89" y="43.3"/>
<curve x1="90.89" x2="90.37" x3="89.54" y1="42.33" y2="41.44" y3="40.96"/>
<arc large-arc-flag="0" rx="2.7" ry="2.7" sweep-flag="0" x="89.54" x-axis-rotation="0" y="40.96"/>
<close/>
<move x="86.29" y="68.02"/>
<line x="78.03" y="63.25"/>
@ -412,8 +391,8 @@
<line x="52.32" y="65.53"/>
<line x="63.2" y="71.81"/>
<line x="63.2" y="57.73"/>
<line x="51.0" y="50.69"/>
<line x="51.0" y="63.25"/>
<line x="51" y="50.69"/>
<line x="51" y="63.25"/>
<line x="42.74" y="68.02"/>
<line x="42.74" y="44.39"/>
<line x="63.2" y="32.58"/>
@ -427,35 +406,115 @@
<line x="86.29" y="68.02"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="115.25" name="Container Registry" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Container Optimized OS" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="125.92" y="67.81"/>
<line x="96.56" y="38.45"/>
<move x="76.93" y="113.92"/>
<line x="41.14" y="76.75"/>
<line x="38.03" y="43.73"/>
<line x="65.09" y="28.3"/>
<line x="89.29" y="39.46"/>
<line x="121.68" y="71.85"/>
<curve x1="116.4" x2="103.84" x3="100.68" y1="81.33" y2="102.94" y3="108.22"/>
<arc large-arc-flag="0" rx="11.65" ry="11.65" sweep-flag="1" x="90.82" x-axis-rotation="0" y="113.92"/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.52" y="26.73"/>
<arc large-arc-flag="1" rx="30.52" ry="30.52" sweep-flag="0" x="95.04" x-axis-rotation="0" y="57.25"/>
<arc large-arc-flag="0" rx="30.52" ry="30.52" sweep-flag="0" x="64.52" x-axis-rotation="0" y="26.73"/>
<close/>
<move x="64.52" y="81.75"/>
<arc large-arc-flag="0" rx="24.35" ry="24.35" sweep-flag="1" x="51.76" x-axis-rotation="0" y="78.14"/>
<line x="62.7" y="71.82"/>
<line x="62.72" y="71.83"/>
<line x="62.72" y="58.07"/>
<line x="50.81" y="51.19"/>
<line x="50.81" y="64.95"/>
<line x="59.2" y="69.79"/>
<line x="48.64" y="75.9"/>
<arc large-arc-flag="0" rx="24.47" ry="24.47" sweep-flag="1" x="52.56" x-axis-rotation="0" y="35.87"/>
<line x="52.56" y="48.16"/>
<line x="52.57" y="48.16"/>
<line x="64.47" y="55.04"/>
<line x="76.38" y="48.15"/>
<line x="64.47" y="41.28"/>
<line x="56.07" y="46.13"/>
<line x="56.07" y="34.28"/>
<arc large-arc-flag="0" rx="24.44" ry="24.44" sweep-flag="1" x="89.02" x-axis-rotation="0" y="57.25"/>
<curve x1="89.02" x2="89.01" x3="89.01" y1="57.32" y2="57.39" y3="57.47"/>
<line x="78.13" y="51.19"/>
<line x="78.13" y="51.18"/>
<line x="78.13" y="51.19"/>
<line x="78.13" y="51.18"/>
<line x="78.13" y="51.19"/>
<line x="66.22" y="58.07"/>
<line x="66.22" y="71.83"/>
<line x="78.13" y="64.95"/>
<line x="78.13" y="55.23"/>
<line x="88.65" y="61.31"/>
<arc large-arc-flag="0" rx="24.49" ry="24.49" sweep-flag="1" x="64.52" x-axis-rotation="0" y="81.75"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Container Registry" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="96.56" y="38.45"/>
<line x="84.26" y="35.47"/>
<line x="82.37" y="37.41"/>
<line x="91.84" y="46.89"/>
@ -465,15 +524,18 @@
<line x="46.51" y="30.3"/>
<line x="36.01" y="39.22"/>
<line x="32.42" y="75.43"/>
<line x="72.23" y="115.25"/>
<line x="98.01" y="115.22"/>
<line x="70.92" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="124.72" y="66.61"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="56.51" y="49.59"/>
<line x="64.51" y="54.22"/>
@ -481,30 +543,24 @@
<line x="72.51" y="40.34"/>
<line x="64.51" y="35.72"/>
<line x="56.51" y="40.34"/>
<line x="56.51" y="49.59"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="67.51" y="68.47"/>
<line x="75.51" y="73.09"/>
<line x="83.51" y="68.47"/>
<line x="83.51" y="59.22"/>
<line x="75.51" y="54.59"/>
<line x="67.51" y="59.22"/>
<line x="67.51" y="68.47"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="45.51" y="68.72"/>
<line x="53.51" y="73.34"/>
<line x="61.51" y="68.72"/>
<line x="61.51" y="59.47"/>
<line x="53.51" y="54.84"/>
<line x="45.51" y="59.47"/>
<line x="45.51" y="68.72"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="46.51" y="37.41"/>
<line x="38.51" y="42.02"/>
<line x="38.51" y="71.91"/>
@ -513,10 +569,8 @@
<line x="32.51" y="75.53"/>
<line x="32.51" y="38.4"/>
<line x="46.51" y="30.32"/>
<line x="46.51" y="37.41"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="82.51" y="37.41"/>
<line x="90.51" y="42.02"/>
<line x="90.51" y="71.91"/>
@ -525,9 +579,130 @@
<line x="96.51" y="75.53"/>
<line x="96.51" y="38.4"/>
<line x="82.51" y="30.32"/>
<line x="82.51" y="37.41"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="GPU" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.31" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.31" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.77" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.98" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.98" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.77" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.31" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="78.89" y="30.75"/>
<line x="74.58" y="37.11"/>
<line x="68.18" y="30.72"/>
<line x="63.07" y="37.54"/>
<line x="56.24" y="30.72"/>
<line x="49.26" y="41.05"/>
<line x="38.26" y="48.15"/>
<line x="45.76" y="55.64"/>
<line x="38.26" y="60.09"/>
<line x="43.81" y="65.63"/>
<line x="38.26" y="70.8"/>
<line x="81.4" y="113.93"/>
<line x="90.77" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="121.08" y="72.93"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="77.69" y="42.43"/>
<line x="77.83" y="42.43"/>
<arc large-arc-flag="0" rx="1.45" ry="1.45" sweep-flag="1" x="78.96" x-axis-rotation="0" y="43.56"/>
<line x="78.96" y="69.75"/>
<arc large-arc-flag="0" rx="1.45" ry="1.45" sweep-flag="1" x="77.83" x-axis-rotation="0" y="70.88"/>
<line x="51.67" y="70.88"/>
<arc large-arc-flag="0" rx="1.45" ry="1.45" sweep-flag="1" x="50.51" x-axis-rotation="0" y="69.76"/>
<line x="50.51" y="43.59"/>
<arc large-arc-flag="0" rx="1.45" ry="1.45" sweep-flag="1" x="51.64" x-axis-rotation="0" y="42.46"/>
<line x="77.69" y="42.46"/>
<move x="78.89" y="30.75"/>
<line x="73.27" y="30.75"/>
<line x="73.27" y="36.97"/>
<line x="68.18" y="36.97"/>
<line x="68.18" y="30.72"/>
<line x="62.51" y="30.72"/>
<line x="62.51" y="36.97"/>
<line x="56.24" y="36.97"/>
<line x="56.24" y="30.72"/>
<line x="50.61" y="30.72"/>
<line x="50.61" y="37.11"/>
<arc large-arc-flag="0" rx="6.9" ry="6.9" sweep-flag="0" x="45.19" x-axis-rotation="0" y="42.53"/>
<line x="38.26" y="42.53"/>
<line x="38.26" y="48.15"/>
<line x="45.06" y="48.15"/>
<line x="45.06" y="54.47"/>
<line x="38.26" y="54.47"/>
<line x="38.26" y="60.09"/>
<line x="45.06" y="60.09"/>
<line x="45.06" y="65.18"/>
<line x="38.26" y="65.18"/>
<line x="38.26" y="70.8"/>
<line x="45.19" y="70.8"/>
<arc large-arc-flag="0" rx="6.9" ry="6.9" sweep-flag="0" x="50.61" x-axis-rotation="0" y="76.22"/>
<line x="50.61" y="83.22"/>
<line x="56.23" y="83.22"/>
<line x="56.23" y="76.36"/>
<line x="62.51" y="76.36"/>
<line x="62.51" y="83.21"/>
<line x="68.13" y="83.21"/>
<line x="68.13" y="76.36"/>
<line x="73.22" y="76.36"/>
<line x="73.22" y="83.21"/>
<line x="78.84" y="83.21"/>
<line x="78.84" y="76.21"/>
<arc large-arc-flag="0" rx="6.9" ry="6.9" sweep-flag="0" x="84.26" x-axis-rotation="0" y="70.79"/>
<line x="90.71" y="70.79"/>
<line x="90.71" y="65.19"/>
<line x="84.45" y="65.19"/>
<line x="84.45" y="60.1"/>
<line x="90.76" y="60.1"/>
<line x="90.76" y="54.47"/>
<line x="84.45" y="54.47"/>
<line x="84.45" y="48.16"/>
<line x="90.76" y="48.16"/>
<line x="90.76" y="42.53"/>
<line x="84.31" y="42.53"/>
<arc large-arc-flag="0" rx="6.9" ry="6.9" sweep-flag="0" x="78.89" x-axis-rotation="0" y="37.11"/>
<close/>
<move x="66.7" y="45.14"/>
<line x="66.7" y="54.63"/>
<line x="71.9" y="54.63"/>
<line x="62.63" y="67.51"/>
<line x="62.63" y="57.91"/>
<line x="57.15" y="57.91"/>
<line x="66.7" y="45.14"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
</shapes>

View file

@ -1,302 +1,289 @@
<shapes name="mxgraph.gcp.developer_tools">
<shape aspect="variable" h="114.45" name="Cloud Tools for PowerShell" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.97" name="Cloud Tools for PowerShell" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="74.54" y="40.58"/>
<move x="93.38" y="44.19"/>
<line x="95.55" y="56.97"/>
<line x="94.07" y="60.11"/>
<line x="74.54" y="40.58"/>
<line x="55.14" y="40.97"/>
<line x="48.93" y="52.1"/>
<line x="41.14" y="44.31"/>
<line x="32.81" y="57.42"/>
<line x="35.72" y="69.8"/>
<line x="80.38" y="114.45"/>
<line x="97.89" y="114.4"/>
<line x="121.95" y="72.77"/>
<line x="93.38" y="44.19"/>
<line x="95.55" y="56.97"/>
<line x="94.07" y="60.11"/>
<line x="79.89" y="113.96"/>
<line x="90.82" y="113.97"/>
<arc large-arc-flag="0" rx="11.38" ry="11.38" sweep-flag="0" x="100.68" x-axis-rotation="0" y="108.27"/>
<line x="121.45" y="72.26"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="83.5" y="55.97"/>
<line x="74.87" y="41.02"/>
<curve x1="74.52" x2="73.86" x3="73.14" y1="40.41" y2="40.02" y3="40.02"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="73.14" x-axis-rotation="0" y="40.02"/>
<line x="55.89" y="40.02"/>
<curve x1="55.17" x2="54.51" x3="54.16" y1="40.02" y2="40.41" y3="41.02"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="54.16" x-axis-rotation="0" y="41.02"/>
<line x="45.53" y="55.97"/>
<curve x1="45.17" x2="45.17" x3="45.53" y1="56.59" y2="57.35" y3="57.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="45.53" x-axis-rotation="0" y="57.97"/>
<line x="54.16" y="72.91"/>
<curve x1="54.51" x2="55.17" x3="55.89" y1="73.53" y2="73.91" y3="73.91"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="55.89" x-axis-rotation="0" y="73.91"/>
<line x="73.14" y="73.91"/>
<curve x1="73.86" x2="74.52" x3="74.87" y1="73.91" y2="73.53" y3="72.91"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="74.87" x-axis-rotation="0" y="72.91"/>
<line x="83.5" y="57.97"/>
<curve x1="83.86" x2="83.86" x3="83.5" y1="57.35" y2="56.59" y3="55.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="83.5" x-axis-rotation="0" y="55.97"/>
<close/>
<move x="64.51" y="64.31"/>
<curve x1="60.46" x2="57.17" x3="57.17" y1="64.31" y2="61.02" y3="56.97"/>
<curve x1="57.17" x2="60.46" x3="64.51" y1="52.91" y2="49.62" y3="49.62"/>
<curve x1="68.57" x2="71.86" x3="71.86" y1="49.62" y2="52.91" y3="56.97"/>
<curve x1="71.86" x2="68.57" x3="64.51" y1="61.02" y2="64.31" y3="64.31"/>
<arc large-arc-flag="1" rx="7.34" ry="7.34" sweep-flag="1" x="71.86" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="7.34" ry="7.34" sweep-flag="1" x="64.51" x-axis-rotation="0" y="64.31"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="93.92" y="57.58"/>
<line x="87.77" y="68.23"/>
<curve x1="87.3" x2="87.89" x3="88.83" y1="69.05" y2="70.08" y3="70.08"/>
<line x="92.52" y="70.08"/>
<curve x1="92.96" x2="93.36" x3="93.58" y1="70.08" y2="69.84" y3="69.46"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="88.83" x-axis-rotation="0" y="70.08"/>
<line x="92.51" y="70.08"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="93.58" x-axis-rotation="0" y="69.47"/>
<line x="100.44" y="57.58"/>
<curve x1="100.66" x2="100.66" x3="100.44" y1="57.2" y2="56.73" y3="56.35"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="100.44" x-axis-rotation="0" y="56.36"/>
<line x="93.58" y="44.47"/>
<curve x1="93.36" x2="92.96" x3="92.52" y1="44.09" y2="43.86" y3="43.86"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="92.51" x-axis-rotation="0" y="43.86"/>
<line x="88.83" y="43.86"/>
<curve x1="87.89" x2="87.3" x3="87.77" y1="43.86" y2="44.88" y3="45.7"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="87.77" x-axis-rotation="0" y="45.7"/>
<line x="93.92" y="56.35"/>
<curve x1="94.14" x2="94.14" x3="93.92" y1="56.73" y2="57.2" y3="57.58"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="1" x="93.92" x-axis-rotation="0" y="57.58"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="36.51" y="70.08"/>
<line x="40.2" y="70.08"/>
<curve x1="41.14" x2="41.73" x3="41.26" y1="70.08" y2="69.05" y3="68.23"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="41.26" x-axis-rotation="0" y="68.23"/>
<line x="35.11" y="57.58"/>
<curve x1="34.89" x2="34.89" x3="35.11" y1="57.2" y2="56.73" y3="56.35"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="1" x="35.11" x-axis-rotation="0" y="56.35"/>
<line x="41.26" y="45.7"/>
<curve x1="41.73" x2="41.14" x3="40.2" y1="44.88" y2="43.86" y3="43.86"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="40.2" x-axis-rotation="0" y="43.86"/>
<line x="36.51" y="43.86"/>
<curve x1="36.07" x2="35.67" x3="35.45" y1="43.86" y2="44.09" y3="44.47"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="35.45" x-axis-rotation="0" y="44.47"/>
<line x="28.59" y="56.35"/>
<curve x1="28.37" x2="28.37" x3="28.59" y1="56.73" y2="57.2" y3="57.58"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="28.59" x-axis-rotation="0" y="57.58"/>
<line x="35.45" y="69.46"/>
<curve x1="35.67" x2="36.07" x3="36.51" y1="69.84" y2="70.08" y3="70.08"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="36.51" x-axis-rotation="0" y="70.08"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.45" name="Cloud Tools for Visual Studio" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.97" name="Cloud Tools for Visual Studio" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="74.54" y="40.58"/>
<move x="93.38" y="44.19"/>
<line x="95.55" y="56.97"/>
<line x="94.07" y="60.11"/>
<line x="74.54" y="40.58"/>
<line x="55.14" y="40.97"/>
<line x="48.93" y="52.1"/>
<line x="41.14" y="44.31"/>
<line x="32.81" y="57.42"/>
<line x="35.72" y="69.8"/>
<line x="80.38" y="114.45"/>
<line x="97.89" y="114.4"/>
<line x="121.95" y="72.77"/>
<line x="93.38" y="44.19"/>
<line x="95.55" y="56.97"/>
<line x="94.07" y="60.11"/>
<line x="79.89" y="113.96"/>
<line x="90.82" y="113.97"/>
<arc large-arc-flag="0" rx="11.38" ry="11.38" sweep-flag="0" x="100.68" x-axis-rotation="0" y="108.27"/>
<line x="121.45" y="72.26"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="83.5" y="55.97"/>
<line x="74.87" y="41.02"/>
<curve x1="74.52" x2="73.86" x3="73.14" y1="40.41" y2="40.02" y3="40.02"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="73.14" x-axis-rotation="0" y="40.02"/>
<line x="55.89" y="40.02"/>
<curve x1="55.17" x2="54.51" x3="54.16" y1="40.02" y2="40.41" y3="41.02"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="54.16" x-axis-rotation="0" y="41.02"/>
<line x="45.53" y="55.97"/>
<curve x1="45.17" x2="45.17" x3="45.53" y1="56.59" y2="57.35" y3="57.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="45.53" x-axis-rotation="0" y="57.97"/>
<line x="54.16" y="72.91"/>
<curve x1="54.51" x2="55.17" x3="55.89" y1="73.53" y2="73.91" y3="73.91"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="55.89" x-axis-rotation="0" y="73.91"/>
<line x="73.14" y="73.91"/>
<curve x1="73.86" x2="74.52" x3="74.87" y1="73.91" y2="73.53" y3="72.91"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="74.87" x-axis-rotation="0" y="72.91"/>
<line x="83.5" y="57.97"/>
<curve x1="83.86" x2="83.86" x3="83.5" y1="57.35" y2="56.59" y3="55.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="83.5" x-axis-rotation="0" y="55.97"/>
<close/>
<move x="64.51" y="64.31"/>
<curve x1="60.46" x2="57.17" x3="57.17" y1="64.31" y2="61.02" y3="56.97"/>
<curve x1="57.17" x2="60.46" x3="64.51" y1="52.91" y2="49.62" y3="49.62"/>
<curve x1="68.57" x2="71.86" x3="71.86" y1="49.62" y2="52.91" y3="56.97"/>
<curve x1="71.86" x2="68.57" x3="64.51" y1="61.02" y2="64.31" y3="64.31"/>
<arc large-arc-flag="1" rx="7.34" ry="7.34" sweep-flag="1" x="71.86" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="7.34" ry="7.34" sweep-flag="1" x="64.51" x-axis-rotation="0" y="64.31"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="93.92" y="57.58"/>
<line x="87.77" y="68.23"/>
<curve x1="87.3" x2="87.89" x3="88.83" y1="69.05" y2="70.08" y3="70.08"/>
<line x="92.52" y="70.08"/>
<curve x1="92.96" x2="93.36" x3="93.58" y1="70.08" y2="69.84" y3="69.46"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="88.83" x-axis-rotation="0" y="70.08"/>
<line x="92.51" y="70.08"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="93.58" x-axis-rotation="0" y="69.47"/>
<line x="100.44" y="57.58"/>
<curve x1="100.66" x2="100.66" x3="100.44" y1="57.2" y2="56.73" y3="56.35"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="100.44" x-axis-rotation="0" y="56.36"/>
<line x="93.58" y="44.47"/>
<curve x1="93.36" x2="92.96" x3="92.52" y1="44.09" y2="43.86" y3="43.86"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="92.51" x-axis-rotation="0" y="43.86"/>
<line x="88.83" y="43.86"/>
<curve x1="87.89" x2="87.3" x3="87.77" y1="43.86" y2="44.88" y3="45.7"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="87.77" x-axis-rotation="0" y="45.7"/>
<line x="93.92" y="56.35"/>
<curve x1="94.14" x2="94.14" x3="93.92" y1="56.73" y2="57.2" y3="57.58"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="1" x="93.92" x-axis-rotation="0" y="57.58"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="36.51" y="70.08"/>
<line x="40.2" y="70.08"/>
<curve x1="41.14" x2="41.73" x3="41.26" y1="70.08" y2="69.05" y3="68.23"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="41.26" x-axis-rotation="0" y="68.23"/>
<line x="35.11" y="57.58"/>
<curve x1="34.89" x2="34.89" x3="35.11" y1="57.2" y2="56.73" y3="56.35"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="1" x="35.11" x-axis-rotation="0" y="56.35"/>
<line x="41.26" y="45.7"/>
<curve x1="41.73" x2="41.14" x3="40.2" y1="44.88" y2="43.86" y3="43.86"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="40.2" x-axis-rotation="0" y="43.86"/>
<line x="36.51" y="43.86"/>
<curve x1="36.07" x2="35.67" x3="35.45" y1="43.86" y2="44.09" y3="44.47"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="35.45" x-axis-rotation="0" y="44.47"/>
<line x="28.59" y="56.35"/>
<curve x1="28.37" x2="28.37" x3="28.59" y1="56.73" y2="57.2" y3="57.58"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="28.59" x-axis-rotation="0" y="57.58"/>
<line x="35.45" y="69.46"/>
<curve x1="35.67" x2="36.07" x3="36.51" y1="69.84" y2="70.08" y3="70.08"/>
<arc large-arc-flag="0" rx="1.23" ry="1.23" sweep-flag="0" x="36.51" x-axis-rotation="0" y="70.08"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="117.79" name="Deployment Manager" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Deployment Manager" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="126.8" y="67.62"/>
<line x="97.11" y="37.94"/>
<move x="97.11" y="37.94"/>
<line x="49.83" y="46.84"/>
<line x="31.42" y="62.23"/>
<line x="37.38" y="68.19"/>
<line x="37.38" y="68.18"/>
<line x="31.92" y="73.16"/>
<line x="76.56" y="117.79"/>
<line x="98.18" y="117.76"/>
<line x="72.69" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="125.11" y="65.94"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="74.72" y="82.27"/>
<line x="54.56" y="82.27"/>
<curve x1="54.01" x2="53.56" x3="53.56" y1="82.27" y2="81.82" y3="81.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="53.56" x-axis-rotation="0" y="81.27"/>
<line x="53.56" y="81.24"/>
<curve x1="53.56" x2="54.01" x3="54.56" y1="80.69" y2="80.24" y3="80.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="54.56" x-axis-rotation="0" y="80.24"/>
<line x="74.72" y="80.24"/>
<curve x1="75.27" x2="75.72" x3="75.72" y1="80.24" y2="80.69" y3="81.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="75.72" x-axis-rotation="0" y="81.24"/>
<line x="75.72" y="81.27"/>
<curve x1="75.72" x2="75.27" x3="74.72" y1="81.82" y2="82.27" y3="82.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="74.72" x-axis-rotation="0" y="82.27"/>
<close/>
</path>
<fillstroke/>
<fill/>
<rect h="8.78" w="7.74" x="60.77" y="72.47"/>
<fillstroke/>
<fill/>
<path>
<move x="86.18" y="65.94"/>
<curve x1="85.68" x2="85.2" x3="84.85" y1="65.94" y2="65.73" y3="65.37"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="84.85" x-axis-rotation="0" y="65.37"/>
<line x="71.26" y="51.3"/>
<line x="62.13" y="60.9"/>
<curve x1="61.47" x2="60.38" x3="59.63" y1="61.6" y2="61.67" y3="61.06"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="1" x="59.63" x-axis-rotation="0" y="61.06"/>
<line x="52.74" y="55.49"/>
<line x="45.42" y="65.2"/>
<curve x1="45.07" x2="44.53" x3="43.95" y1="65.66" y2="65.94" y3="65.94"/>
<line x="31.41" y="65.94"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="43.95" x-axis-rotation="0" y="65.93"/>
<line x="31.41" y="65.93"/>
<line x="31.41" y="71.63"/>
<curve x1="31.41" x2="32.52" x3="33.87" y1="72.98" y2="74.09" y3="74.09"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="33.87" x-axis-rotation="0" y="74.09"/>
<line x="95.41" y="74.09"/>
<curve x1="96.76" x2="97.87" x3="97.87" y1="74.09" y2="72.98" y3="71.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="97.87" x-axis-rotation="0" y="71.63"/>
<line x="97.87" y="65.94"/>
<line x="86.18" y="65.94"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="43.03" y="62.24"/>
<line x="50.94" y="51.75"/>
<curve x1="51.24" x2="51.69" x3="52.18" y1="51.35" y2="51.09" y3="51.03"/>
<curve x1="52.68" x2="53.18" x3="53.57" y1="50.97" y2="51.11" y3="51.42"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="53.57" x-axis-rotation="0" y="51.42"/>
<line x="60.63" y="57.12"/>
<line x="69.92" y="47.36"/>
<curve x1="70.26" x2="70.74" x3="71.25" y1="46.99" y2="46.78" y3="46.78"/>
<curve x1="71.25" x2="71.25" x3="71.26" y1="46.78" y2="46.78" y3="46.78"/>
<curve x1="71.76" x2="72.24" x3="72.58" y1="46.78" y2="46.99" y3="47.35"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="71.25" x-axis-rotation="0" y="46.78"/>
<line x="71.26" y="46.78"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="72.58" x-axis-rotation="0" y="47.35"/>
<line x="86.96" y="62.24"/>
<line x="97.87" y="62.24"/>
<line x="97.87" y="39.63"/>
<curve x1="97.87" x2="96.76" x3="95.41" y1="38.28" y2="37.17" y3="37.17"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="95.41" x-axis-rotation="0" y="37.17"/>
<line x="33.87" y="37.17"/>
<curve x1="32.52" x2="31.41" x3="31.41" y1="37.17" y2="38.28" y3="39.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="31.41" x-axis-rotation="0" y="39.63"/>
<line x="31.41" y="62.24"/>
<line x="43.03" y="62.24"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
</shapes>

View file

@ -28,22 +28,22 @@
<path>
<move x="28.3" y="108.23"/>
<line x="2.05" y="62.76"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.26"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.26"/>
<line x="28.3" y="5.79"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.01"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0.01"/>
<line x="90.76" y="0.01"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.76" x-axis-rotation="0.0" y="5.76"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.76" x-axis-rotation="0" y="5.76"/>
<line x="127.01" y="51.23"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="127.01" x-axis-rotation="0.0" y="62.73"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="127.01" x-axis-rotation="0" y="62.73"/>
<line x="100.76" y="108.2"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.95"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.95"/>
<line x="38.26" y="113.95"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.3" x-axis-rotation="0.0" y="108.23"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.23"/>
<close/>
</path>
<fillstroke/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000002"/>
<alpha alpha="0.07"/>
<path>
<move x="81.26" y="32.26"/>
<line x="53.51" y="36.01"/>
@ -56,18 +56,15 @@
<line x="121.36" y="73.43"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#ffffff"/>
<path>
<move x="72.29" y="57.06"/>
<arc large-arc-flag="1.0" rx="7.93" ry="7.93" sweep-flag="1.0" x="64.36" x-axis-rotation="0.0" y="49.13"/>
<arc large-arc-flag="0.0" rx="7.93" ry="7.93" sweep-flag="1.0" x="72.29" x-axis-rotation="0.0" y="57.06"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="1" rx="7.93" ry="7.93" sweep-flag="1" x="64.36" x-axis-rotation="0" y="49.13"/>
<arc large-arc-flag="0" rx="7.93" ry="7.93" sweep-flag="1" x="72.29" x-axis-rotation="0" y="57.06"/>
<move x="93.73" y="55.01"/>
<line x="87.79" y="44.67"/>
<line x="75.67" y="44.67"/>
@ -77,78 +74,637 @@
<line x="71.41" y="76.75"/>
<line x="67.51" y="83.45"/>
<line x="77.35" y="83.45"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="80.79" x-axis-rotation="0.0" y="81.45"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="80.79" x-axis-rotation="0" y="81.45"/>
<line x="93.73" y="59.01"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="93.73" x-axis-rotation="0.0" y="55.06"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="93.73" x-axis-rotation="0" y="55.06"/>
<move x="55.38" y="72.88"/>
<line x="46.25" y="57.01"/>
<line x="40.19" y="46.49"/>
<line x="35.29" y="55.01"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="35.29" x-axis-rotation="0.0" y="58.96"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="35.29" x-axis-rotation="0" y="58.96"/>
<line x="48.18" y="81.46"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="51.62" x-axis-rotation="0.0" y="83.46"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="51.62" x-axis-rotation="0" y="83.46"/>
<line x="63.46" y="83.46"/>
<line x="69.57" y="72.88"/>
<line x="55.38" y="72.88"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="85.77" y="41.14"/>
<line x="80.85" y="32.56"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="77.41" x-axis-rotation="0.0" y="30.56"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="77.41" x-axis-rotation="0" y="30.56"/>
<line x="51.62" y="30.56"/>
<arc large-arc-flag="0.0" rx="4.0" ry="4.0" sweep-flag="0.0" x="48.18" x-axis-rotation="0.0" y="32.56"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="0" x="48.18" x-axis-rotation="0" y="32.56"/>
<line x="42.2" y="43.01"/>
<line x="48.27" y="53.52"/>
<line x="55.37" y="41.18"/>
<line x="85.77" y="41.18"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="104.3" name="Google Cloud Platform" strokewidth="inherit" w="118.02">
<connections/>
<foreground>
<fillcolor color="#fbbc05"/>
<path>
<move x="77.01" y="83.43"/>
<line x="65.01" y="104.29"/>
<line x="33.59" y="104.29"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="26.8" x-axis-rotation="0" y="100.36"/>
<line x="1.38" y="56.04"/>
<arc large-arc-flag="0" rx="7.83" ry="7.83" sweep-flag="1" x="1.38" x-axis-rotation="0" y="48.26"/>
<line x="11.05" y="31.4"/>
<line x="22.99" y="52.15"/>
<line x="40.99" y="83.43"/>
<close/>
</path>
<fill/>
<fillcolor color="#ea4335"/>
<path>
<move x="116.63" y="56.04"/>
<line x="91.21" y="100.37"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="84.43" x-axis-rotation="0" y="104.3"/>
<line x="65.01" y="104.3"/>
<line x="77.01" y="83.44"/>
<line x="95.02" y="52.15"/>
<line x="77.01" y="20.86"/>
<line x="100.91" y="20.86"/>
<line x="116.63" y="48.26"/>
<arc large-arc-flag="0" rx="7.78" ry="7.78" sweep-flag="1" x="116.63" x-axis-rotation="0" y="56.04"/>
<close/>
</path>
<fill/>
<fillcolor color="#4285f4"/>
<path>
<move x="100.92" y="20.86"/>
<line x="40.99" y="20.86"/>
<line x="22.99" y="52.15"/>
<line x="11.05" y="31.39"/>
<line x="26.8" y="3.93"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="33.59" x-axis-rotation="0" y="0"/>
<line x="84.43" y="0"/>
<arc large-arc-flag="0" rx="7.83" ry="7.83" sweep-flag="1" x="91.22" x-axis-rotation="0" y="3.93"/>
<close/>
</path>
<fill/>
<fillcolor color="#e0e0e0"/>
<path>
<move x="77.01" y="20.86"/>
<line x="95.01" y="52.15"/>
<line x="77.01" y="83.43"/>
<line x="41" y="83.43"/>
<line x="22.99" y="52.15"/>
<line x="40.99" y="20.86"/>
<line x="77.01" y="20.86"/>
</path>
<fill/>
<fillcolor color="#fff"/>
<ellipse h="31.3" w="31.3" x="43.36" y="36.5"/>
<fillstroke/>
<alpha alpha="0.2"/>
<path>
<move x="26.8" y="4.58"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="33.59" x-axis-rotation="0" y="0.65"/>
<line x="84.43" y="0.65"/>
<arc large-arc-flag="0" rx="7.83" ry="7.83" sweep-flag="1" x="91.22" x-axis-rotation="0" y="4.58"/>
<line x="100.55" y="20.86"/>
<line x="100.93" y="20.86"/>
<line x="91.22" y="3.93"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="0" x="84.43" x-axis-rotation="0" y="0"/>
<line x="33.59" y="0"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="0" x="26.8" x-axis-rotation="0" y="3.93"/>
<line x="11.05" y="31.39"/>
<line x="11.24" y="31.72"/>
<close/>
</path>
<fill/>
<fillcolor color="#1a237e"/>
<path>
<move x="22.99" y="52.15"/>
<line x="40.99" y="20.86"/>
<line x="100.92" y="20.86"/>
<line x="100.55" y="20.21"/>
<line x="40.99" y="20.21"/>
<line x="22.99" y="51.49"/>
</path>
<fill/>
<fillcolor color="#fff"/>
<path>
<move x="1.38" y="48.91"/>
<line x="11.05" y="32.04"/>
<line x="22.99" y="52.79"/>
<line x="40.99" y="84.08"/>
<line x="76.63" y="84.08"/>
<line x="77.01" y="83.43"/>
<line x="40.99" y="83.43"/>
<line x="22.99" y="52.15"/>
<line x="11.05" y="31.39"/>
<line x="1.38" y="48.25"/>
<arc large-arc-flag="0" rx="7.87" ry="7.87" sweep-flag="0" x="0.36" x-axis-rotation="0" y="52.47"/>
<arc large-arc-flag="0" rx="7.85" ry="7.85" sweep-flag="1" x="1.38" x-axis-rotation="0" y="48.91"/>
<close/>
</path>
<fill/>
<fillcolor color="#bf360c"/>
<path>
<move x="65.39" y="103.64"/>
<line x="33.59" y="103.64"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="26.8" x-axis-rotation="0" y="99.71"/>
<line x="1.38" y="55.39"/>
<arc large-arc-flag="0" rx="7.85" ry="7.85" sweep-flag="1" x="0.36" x-axis-rotation="0" y="51.82"/>
<arc large-arc-flag="0" rx="7.77" ry="7.77" sweep-flag="0" x="1.38" x-axis-rotation="0" y="56.04"/>
<line x="26.8" y="100.37"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="0" x="33.59" x-axis-rotation="0" y="104.3"/>
<line x="65.01" y="104.3"/>
<close/>
</path>
<fill/>
<fillcolor color="#3e2723"/>
<path>
<move x="95.39" y="52.15"/>
<line x="77.39" y="20.86"/>
<line x="77.01" y="20.86"/>
<line x="95.02" y="52.15"/>
<line x="95.39" y="52.15"/>
<close/>
</path>
<fill/>
<path>
<move x="116.63" y="55.39"/>
<line x="91.21" y="99.71"/>
<arc large-arc-flag="0" rx="7.82" ry="7.82" sweep-flag="1" x="84.43" x-axis-rotation="0" y="103.65"/>
<line x="65.39" y="103.65"/>
<line x="65.01" y="104.3"/>
<line x="84.43" y="104.3"/>
<arc large-arc-flag="0" rx="7.83" ry="7.83" sweep-flag="0" x="91.21" x-axis-rotation="0" y="100.37"/>
<line x="116.63" y="56.04"/>
<arc large-arc-flag="0" rx="7.83" ry="7.83" sweep-flag="0" x="117.65" x-axis-rotation="0" y="51.82"/>
<arc large-arc-flag="0" rx="7.85" ry="7.85" sweep-flag="1" x="116.63" x-axis-rotation="0" y="55.39"/>
<close/>
</path>
<fill/>
<fillcolor color="#fff"/>
<path>
<move x="100.92" y="21.51"/>
<line x="116.63" y="48.91"/>
<arc large-arc-flag="0" rx="7.85" ry="7.85" sweep-flag="1" x="117.65" x-axis-rotation="0" y="52.47"/>
<arc large-arc-flag="0" rx="7.77" ry="7.77" sweep-flag="0" x="116.63" x-axis-rotation="0" y="48.25"/>
<line x="100.92" y="20.85"/>
<line x="77.01" y="20.85"/>
<line x="77.39" y="21.51"/>
</path>
<fill/>
<path>
<move x="77.01" y="84.09"/>
<line x="95.39" y="52.15"/>
<line x="95.02" y="52.15"/>
<line x="77.01" y="83.43"/>
<line x="65.01" y="104.29"/>
<line x="65.39" y="104.29"/>
<line x="77.01" y="84.09"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="25.07" name="Google Cloud Platform lockup" strokewidth="inherit" w="230.16">
<connections/>
<foreground>
<path>
<move x="35.79" y="12.11"/>
<arc large-arc-flag="0" rx="8.31" ry="8.31" sweep-flag="1" x="44.14" x-axis-rotation="0" y="3.92"/>
<arc large-arc-flag="0" rx="7.81" ry="7.81" sweep-flag="1" x="49.76" x-axis-rotation="0" y="6.18"/>
<line x="48.14" y="7.75"/>
<arc large-arc-flag="0" rx="5.71" ry="5.71" sweep-flag="0" x="44.14" x-axis-rotation="0" y="6.15"/>
<arc large-arc-flag="0" rx="5.88" ry="5.88" sweep-flag="0" x="38.26" x-axis-rotation="0" y="12.15"/>
<arc large-arc-flag="0" rx="5.88" ry="5.88" sweep-flag="0" x="44.14" x-axis-rotation="0" y="18.15"/>
<arc large-arc-flag="0" rx="5.48" ry="5.48" sweep-flag="0" x="48.28" x-axis-rotation="0" y="16.51"/>
<arc large-arc-flag="0" rx="4.67" ry="4.67" sweep-flag="0" x="49.5" x-axis-rotation="0" y="13.69"/>
<line x="44.14" y="13.69"/>
<line x="44.14" y="11.37"/>
<line x="51.64" y="11.37"/>
<arc large-arc-flag="0" rx="7.29" ry="7.29" sweep-flag="1" x="51.76" x-axis-rotation="0" y="12.77"/>
<arc large-arc-flag="0" rx="7.4" ry="7.4" sweep-flag="1" x="49.82" x-axis-rotation="0" y="18.01"/>
<arc large-arc-flag="0" rx="7.49" ry="7.49" sweep-flag="1" x="44.14" x-axis-rotation="0" y="20.31"/>
<arc large-arc-flag="0" rx="8.31" ry="8.31" sweep-flag="1" x="35.79" x-axis-rotation="0" y="12.11"/>
<close/>
<move x="57.85" y="9.75"/>
<arc large-arc-flag="1" rx="5.28" ry="5.28" sweep-flag="0" x="63.14" x-axis-rotation="0" y="15.03"/>
<arc large-arc-flag="0" rx="5.2" ry="5.2" sweep-flag="0" x="57.85" x-axis-rotation="0" y="9.75"/>
<close/>
<move x="57.85" y="18.22"/>
<arc large-arc-flag="0" rx="3.05" ry="3.05" sweep-flag="1" x="54.85" x-axis-rotation="0" y="15.02"/>
<arc large-arc-flag="1" rx="3" ry="3" sweep-flag="1" x="60.85" x-axis-rotation="0" y="15.02"/>
<arc large-arc-flag="0" rx="3.05" ry="3.05" sweep-flag="1" x="57.85" x-axis-rotation="0" y="18.23"/>
<close/>
<move x="69.41" y="9.75"/>
<arc large-arc-flag="1" rx="5.28" ry="5.28" sweep-flag="0" x="74.71" x-axis-rotation="0" y="15.03"/>
<arc large-arc-flag="0" rx="5.2" ry="5.2" sweep-flag="0" x="69.41" x-axis-rotation="0" y="9.75"/>
<close/>
<move x="69.41" y="18.22"/>
<arc large-arc-flag="0" rx="3.05" ry="3.05" sweep-flag="1" x="66.41" x-axis-rotation="0" y="15.02"/>
<arc large-arc-flag="1" rx="3" ry="3" sweep-flag="1" x="72.41" x-axis-rotation="0" y="15.02"/>
<arc large-arc-flag="0" rx="3.05" ry="3.05" sweep-flag="1" x="69.41" x-axis-rotation="0" y="18.23"/>
<close/>
<move x="83.59" y="10.07"/>
<line x="83.59" y="10.93"/>
<line x="83.51" y="10.93"/>
<arc large-arc-flag="0" rx="3.66" ry="3.66" sweep-flag="0" x="80.73" x-axis-rotation="0" y="9.75"/>
<arc large-arc-flag="0" rx="5.28" ry="5.28" sweep-flag="0" x="80.73" x-axis-rotation="0" y="20.3"/>
<arc large-arc-flag="0" rx="3.6" ry="3.6" sweep-flag="0" x="83.51" x-axis-rotation="0" y="19.1"/>
<line x="83.59" y="19.1"/>
<line x="83.59" y="19.86"/>
<curve x1="83.59" x2="82.51" x3="80.77" y1="21.86" y2="22.96" y3="22.96"/>
<arc large-arc-flag="0" rx="2.92" ry="2.92" sweep-flag="1" x="78.14" x-axis-rotation="0" y="21.09"/>
<line x="76.14" y="21.93"/>
<arc large-arc-flag="0" rx="5" ry="5" sweep-flag="0" x="80.82" x-axis-rotation="0" y="25.05"/>
<curve x1="83.54" x2="85.82" x3="85.82" y1="25.05" y2="23.45" y3="19.55"/>
<line x="85.82" y="10.07"/>
<line x="83.62" y="10.07"/>
<close/>
<move x="80.93" y="18.23"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="77.99" x-axis-rotation="0" y="15.05"/>
<arc large-arc-flag="0" rx="3.05" ry="3.05" sweep-flag="1" x="80.93" x-axis-rotation="0" y="11.83"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="83.75" x-axis-rotation="0" y="15.05"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="80.93" x-axis-rotation="0" y="18.23"/>
<close/>
<move x="96.06" y="18.23"/>
<arc large-arc-flag="0" rx="2.68" ry="2.68" sweep-flag="1" x="93.5" x-axis-rotation="0" y="16.63"/>
<line x="100.56" y="13.71"/>
<line x="100.32" y="13.11"/>
<arc large-arc-flag="0" rx="4.9" ry="4.9" sweep-flag="0" x="95.8" x-axis-rotation="0" y="9.75"/>
<arc large-arc-flag="0" rx="5" ry="5" sweep-flag="0" x="90.8" x-axis-rotation="0" y="15.03"/>
<arc large-arc-flag="0" rx="5.16" ry="5.16" sweep-flag="0" x="96.04" x-axis-rotation="0" y="20.31"/>
<arc large-arc-flag="0" rx="5.25" ry="5.25" sweep-flag="0" x="100.44" x-axis-rotation="0" y="17.97"/>
<line x="98.64" y="16.77"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="96.06" x-axis-rotation="0" y="18.23"/>
<close/>
<move x="95.88" y="11.79"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="1" x="97.88" x-axis-rotation="0" y="12.91"/>
<line x="93.16" y="14.91"/>
<arc large-arc-flag="0" rx="2.89" ry="2.89" sweep-flag="1" x="95.88" x-axis-rotation="0" y="11.79"/>
<close/>
<move x="105.14" y="12.83"/>
<arc large-arc-flag="0" rx="7.31" ry="7.31" sweep-flag="1" x="112.58" x-axis-rotation="0" y="5.35"/>
<arc large-arc-flag="0" rx="6.77" ry="6.77" sweep-flag="1" x="117.84" x-axis-rotation="0" y="7.69"/>
<line x="116.56" y="8.93"/>
<arc large-arc-flag="0" rx="4.84" ry="4.84" sweep-flag="0" x="112.56" x-axis-rotation="0" y="7.11"/>
<arc large-arc-flag="0" rx="5.45" ry="5.45" sweep-flag="0" x="107" x-axis-rotation="0" y="12.83"/>
<arc large-arc-flag="0" rx="5.45" ry="5.45" sweep-flag="0" x="112.54" x-axis-rotation="0" y="18.5"/>
<arc large-arc-flag="0" rx="5.79" ry="5.79" sweep-flag="0" x="116.94" x-axis-rotation="0" y="16.5"/>
<line x="118.22" y="17.78"/>
<arc large-arc-flag="0" rx="7.48" ry="7.48" sweep-flag="1" x="105.14" x-axis-rotation="0" y="12.83"/>
<close/>
<move x="119.66" y="19.99"/>
<line x="119.66" y="5.67"/>
<line x="121.5" y="5.67"/>
<line x="121.5" y="19.99"/>
<line x="119.66" y="19.99"/>
<close/>
<move x="132.95" y="15.09"/>
<arc large-arc-flag="1" rx="5" ry="5" sweep-flag="1" x="122.88" x-axis-rotation="0" y="15.09"/>
<arc large-arc-flag="1" rx="5" ry="5" sweep-flag="1" x="132.95" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="131.11" y="15.09"/>
<arc large-arc-flag="1" rx="3.21" ry="3.21" sweep-flag="0" x="124.71" x-axis-rotation="0" y="15.09"/>
<arc large-arc-flag="1" rx="3.21" ry="3.21" sweep-flag="0" x="131.14" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="141.26" y="19.99"/>
<line x="141.26" y="18.63"/>
<line x="141.14" y="18.63"/>
<arc large-arc-flag="0" rx="3.74" ry="3.74" sweep-flag="1" x="138.04" x-axis-rotation="0" y="20.31"/>
<curve x1="135.52" x2="134.3" x3="134.3" y1="20.31" y2="18.61" y3="16.19"/>
<line x="134.3" y="10.19"/>
<line x="136.14" y="10.19"/>
<line x="136.14" y="15.89"/>
<curve x1="136.14" x2="137.14" x3="138.56" y1="17.89" y2="18.63" y3="18.63"/>
<arc large-arc-flag="0" rx="2.83" ry="2.83" sweep-flag="0" x="141.14" x-axis-rotation="0" y="15.63"/>
<line x="141.14" y="10.23"/>
<line x="142.98" y="10.23"/>
<line x="142.98" y="20.02"/>
<line x="141.22" y="20.02"/>
<close/>
<move x="144.5" y="15.09"/>
<arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="149.14" x-axis-rotation="0" y="9.87"/>
<arc large-arc-flag="0" rx="3.92" ry="3.92" sweep-flag="1" x="152.48" x-axis-rotation="0" y="11.55"/>
<line x="152.56" y="11.55"/>
<line x="152.48" y="10.19"/>
<line x="152.48" y="5.67"/>
<line x="154.32" y="5.67"/>
<line x="154.32" y="19.99"/>
<line x="152.56" y="19.99"/>
<line x="152.56" y="18.63"/>
<line x="152.48" y="18.63"/>
<arc large-arc-flag="0" rx="3.92" ry="3.92" sweep-flag="1" x="149.14" x-axis-rotation="0" y="20.31"/>
<arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="144.5" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="152.58" y="15.09"/>
<arc large-arc-flag="1" rx="3.14" ry="3.14" sweep-flag="0" x="146.34" x-axis-rotation="0" y="15.09"/>
<arc large-arc-flag="1" rx="3.14" ry="3.14" sweep-flag="0" x="152.58" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="159.35" y="19.99"/>
<line x="159.35" y="5.67"/>
<line x="164.23" y="5.67"/>
<arc large-arc-flag="0" rx="4.34" ry="4.34" sweep-flag="1" x="168.71" x-axis-rotation="0" y="9.93"/>
<arc large-arc-flag="0" rx="4.34" ry="4.34" sweep-flag="1" x="164.23" x-axis-rotation="0" y="14.19"/>
<line x="161.23" y="14.19"/>
<line x="161.23" y="19.99"/>
<line x="159.39" y="19.99"/>
<close/>
<move x="164.27" y="12.43"/>
<arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="164.27" x-axis-rotation="0" y="7.43"/>
<line x="161.14" y="7.43"/>
<line x="161.14" y="12.43"/>
<line x="164.22" y="12.43"/>
<close/>
<move x="170" y="19.99"/>
<line x="170" y="5.67"/>
<line x="171.84" y="5.67"/>
<line x="171.84" y="19.99"/>
<line x="170" y="19.99"/>
<close/>
<move x="173.42" y="17.03"/>
<curve x1="173.42" x2="175.42" x3="177.72" y1="14.81" y2="13.61" y3="13.61"/>
<arc large-arc-flag="0" rx="5.63" ry="5.63" sweep-flag="1" x="180.38" x-axis-rotation="0" y="14.21"/>
<line x="180.38" y="13.93"/>
<arc large-arc-flag="0" rx="2.59" ry="2.59" sweep-flag="0" x="175.48" x-axis-rotation="0" y="12.93"/>
<line x="173.8" y="12.21"/>
<arc large-arc-flag="0" rx="4.42" ry="4.42" sweep-flag="1" x="182.14" x-axis-rotation="0" y="14.07"/>
<line x="182.14" y="19.99"/>
<line x="180.38" y="19.99"/>
<line x="180.38" y="18.63"/>
<line x="180.3" y="18.63"/>
<arc large-arc-flag="0" rx="3.69" ry="3.69" sweep-flag="1" x="177.08" x-axis-rotation="0" y="20.31"/>
<arc large-arc-flag="0" rx="3.35" ry="3.35" sweep-flag="1" x="173.42" x-axis-rotation="0" y="17.03"/>
<close/>
<move x="180.42" y="15.77"/>
<arc large-arc-flag="0" rx="3.85" ry="3.85" sweep-flag="0" x="178.08" x-axis-rotation="0" y="15.13"/>
<curve x1="176.14" x2="175.38" x3="175.38" y1="15.13" y2="16.13" y3="17.07"/>
<arc large-arc-flag="0" rx="1.82" ry="1.82" sweep-flag="0" x="177.38" x-axis-rotation="0" y="18.63"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="0" x="180.38" x-axis-rotation="0" y="15.77"/>
<close/>
<move x="184.79" y="17.01"/>
<line x="184.79" y="11.87"/>
<line x="183.07" y="11.87"/>
<line x="183.07" y="10.19"/>
<line x="184.79" y="10.19"/>
<line x="184.79" y="7.19"/>
<line x="186.63" y="7.19"/>
<line x="186.63" y="10.19"/>
<line x="189.03" y="10.19"/>
<line x="189.03" y="11.87"/>
<line x="186.63" y="11.87"/>
<line x="186.63" y="16.87"/>
<curve x1="186.63" x2="187.09" x3="187.95" y1="17.97" y2="18.47" y3="18.47"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="0" x="188.79" x-axis-rotation="0" y="18.31"/>
<line x="189.43" y="19.89"/>
<arc large-arc-flag="0" rx="3.57" ry="3.57" sweep-flag="1" x="187.95" x-axis-rotation="0" y="20.15"/>
<arc large-arc-flag="0" rx="2.84" ry="2.84" sweep-flag="1" x="184.79" x-axis-rotation="0" y="17.01"/>
<close/>
<move x="196.75" y="5.85"/>
<line x="196.14" y="7.43"/>
<arc large-arc-flag="0" rx="1.8" ry="1.8" sweep-flag="0" x="195.3" x-axis-rotation="0" y="7.27"/>
<arc large-arc-flag="0" rx="1.53" ry="1.53" sweep-flag="0" x="193.66" x-axis-rotation="0" y="8.95"/>
<line x="193.66" y="10.19"/>
<line x="196.14" y="10.19"/>
<line x="196.14" y="11.87"/>
<line x="193.58" y="11.87"/>
<line x="193.58" y="19.99"/>
<line x="191.74" y="19.99"/>
<line x="191.74" y="11.87"/>
<line x="189.9" y="11.87"/>
<line x="189.9" y="10.19"/>
<line x="191.74" y="10.19"/>
<line x="191.74" y="8.89"/>
<arc large-arc-flag="0" rx="3.21" ry="3.21" sweep-flag="1" x="195.22" x-axis-rotation="0" y="5.59"/>
<arc large-arc-flag="0" rx="3.57" ry="3.57" sweep-flag="1" x="196.75" x-axis-rotation="0" y="5.85"/>
<close/>
<move x="206.76" y="15.09"/>
<arc large-arc-flag="1" rx="5" ry="5" sweep-flag="1" x="196.69" x-axis-rotation="0" y="15.09"/>
<arc large-arc-flag="1" rx="5" ry="5" sweep-flag="1" x="206.76" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="204.92" y="15.09"/>
<arc large-arc-flag="1" rx="3.21" ry="3.21" sweep-flag="0" x="198.52" x-axis-rotation="0" y="15.09"/>
<arc large-arc-flag="1" rx="3.21" ry="3.21" sweep-flag="0" x="204.92" x-axis-rotation="0" y="15.09"/>
<close/>
<move x="208.24" y="19.99"/>
<line x="208.24" y="10.19"/>
<line x="210" y="10.19"/>
<line x="210" y="11.79"/>
<line x="210.08" y="11.79"/>
<arc large-arc-flag="0" rx="3.23" ry="3.23" sweep-flag="1" x="212.92" x-axis-rotation="0" y="9.95"/>
<arc large-arc-flag="0" rx="3.35" ry="3.35" sweep-flag="1" x="214.3" x-axis-rotation="0" y="10.19"/>
<line x="213.6" y="11.91"/>
<arc large-arc-flag="0" rx="2.75" ry="2.75" sweep-flag="0" x="212.6" x-axis-rotation="0" y="11.77"/>
<arc large-arc-flag="0" rx="2.66" ry="2.66" sweep-flag="0" x="210.06" x-axis-rotation="0" y="14.63"/>
<line x="210.06" y="19.99"/>
<line x="208.24" y="19.99"/>
<close/>
<move x="215.29" y="10.19"/>
<line x="217.05" y="10.19"/>
<line x="217.05" y="11.55"/>
<line x="217.14" y="11.55"/>
<arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="1" x="220.14" x-axis-rotation="0" y="9.87"/>
<arc large-arc-flag="0" rx="3.1" ry="3.1" sweep-flag="1" x="223.24" x-axis-rotation="0" y="11.75"/>
<arc large-arc-flag="0" rx="4" ry="4" sweep-flag="1" x="226.66" x-axis-rotation="0" y="9.87"/>
<curve x1="229.06" x2="230.16" x3="230.16" y1="9.87" y2="11.57" y3="13.99"/>
<line x="230.16" y="19.99"/>
<line x="228.32" y="19.99"/>
<line x="228.32" y="14.27"/>
<curve x1="228.32" x2="227.54" x3="226.14" y1="12.27" y2="11.55" y3="11.55"/>
<curve x1="224.74" x2="223.64" x3="223.64" y1="11.55" y2="13.07" y3="14.55"/>
<line x="223.64" y="19.97"/>
<line x="221.8" y="19.97"/>
<line x="221.8" y="14.27"/>
<curve x1="221.8" x2="221.02" x3="219.62" y1="12.27" y2="11.55" y3="11.55"/>
<curve x1="218.22" x2="217.12" x3="217.12" y1="11.55" y2="13.07" y3="14.55"/>
<line x="217.12" y="19.97"/>
<line x="215.28" y="19.97"/>
<line x="215.28" y="10.19"/>
<close/>
<move x="18.46" y="20"/>
<line x="15.58" y="25"/>
<line x="8.05" y="25"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="6.42" x-axis-rotation="0" y="24.06"/>
<line x="0.33" y="13.43"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="0.33" x-axis-rotation="0" y="11.56"/>
<line x="2.64" y="7.5"/>
<line x="5.5" y="12.5"/>
<line x="9.82" y="20"/>
<line x="18.45" y="20"/>
<close/>
<move x="27.95" y="13.43"/>
<line x="21.86" y="24.06"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="20.23" x-axis-rotation="0" y="25"/>
<line x="15.58" y="25"/>
<line x="18.46" y="20"/>
<line x="22.77" y="12.5"/>
<line x="18.46" y="5"/>
<line x="24.14" y="5"/>
<line x="27.91" y="11.57"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="27.95" x-axis-rotation="0" y="13.43"/>
<close/>
<move x="24.14" y="5"/>
<line x="9.82" y="5"/>
<line x="5.51" y="12.5"/>
<line x="2.64" y="7.5"/>
<line x="6.42" y="0.94"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="8.05" x-axis-rotation="0" y="0"/>
<line x="20.23" y="0"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="21.86" x-axis-rotation="0" y="0.94"/>
<close/>
<move x="18.46" y="5"/>
<line x="22.77" y="12.5"/>
<line x="18.45" y="20"/>
<line x="9.82" y="20"/>
<line x="5.51" y="12.5"/>
<line x="9.83" y="5"/>
<line x="18.46" y="5"/>
</path>
<fillstroke/>
<ellipse h="7.5" w="7.5" x="10.39" y="8.75"/>
<fillstroke/>
<path>
<move x="6.42" y="1.1"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="8.05" x-axis-rotation="0" y="0.16"/>
<line x="20.23" y="0.16"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="21.86" x-axis-rotation="0" y="1.1"/>
<line x="24.14" y="5"/>
<line x="24.14" y="5"/>
<line x="21.86" y="0.94"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="20.23" x-axis-rotation="0" y="0"/>
<line x="8.05" y="0"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="6.42" x-axis-rotation="0" y="0.94"/>
<line x="2.64" y="7.5"/>
<line x="2.64" y="7.58"/>
<close/>
<move x="5.51" y="12.5"/>
<line x="9.82" y="5"/>
<line x="24.19" y="5"/>
<line x="24.1" y="4.84"/>
<line x="9.82" y="4.84"/>
<line x="5.51" y="12.34"/>
<move x="0.33" y="11.72"/>
<line x="2.65" y="7.72"/>
<line x="5.51" y="12.72"/>
<line x="9.83" y="20.22"/>
<line x="18.37" y="20.22"/>
<line x="18.46" y="20.06"/>
<line x="9.82" y="20.06"/>
<line x="5.51" y="12.5"/>
<line x="2.64" y="7.5"/>
<line x="0.32" y="11.5"/>
<arc large-arc-flag="0" rx="1.87" ry="1.87" sweep-flag="0" x="0.08" x-axis-rotation="0" y="12.5"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="0.33" x-axis-rotation="0" y="11.72"/>
<close/>
<move x="15.67" y="24.84"/>
<line x="8.05" y="24.84"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="6.42" x-axis-rotation="0" y="23.9"/>
<line x="0.33" y="13.28"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="0.09" x-axis-rotation="0" y="12.43"/>
<arc large-arc-flag="0" rx="1.87" ry="1.87" sweep-flag="0" x="0.33" x-axis-rotation="0" y="13.43"/>
<line x="6.42" y="24.06"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="8.05" x-axis-rotation="0" y="25"/>
<line x="15.58" y="25"/>
<close/>
<move x="22.86" y="12.5"/>
<line x="18.55" y="5"/>
<line x="18.46" y="5"/>
<line x="22.77" y="12.5"/>
<line x="22.86" y="12.5"/>
<close/>
<move x="27.95" y="13.28"/>
<line x="21.86" y="23.9"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="20.23" x-axis-rotation="0" y="24.84"/>
<line x="15.67" y="24.84"/>
<line x="15.58" y="25"/>
<line x="20.23" y="25"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="21.86" x-axis-rotation="0" y="24.06"/>
<line x="27.95" y="13.44"/>
<arc large-arc-flag="0" rx="1.87" ry="1.87" sweep-flag="0" x="28.19" x-axis-rotation="0" y="12.44"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="27.95" x-axis-rotation="0" y="13.28"/>
<close/>
<move x="24.14" y="5.16"/>
<line x="27.91" y="11.73"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="1" x="28.15" x-axis-rotation="0" y="12.58"/>
<arc large-arc-flag="0" rx="1.87" ry="1.87" sweep-flag="0" x="27.91" x-axis-rotation="0" y="11.58"/>
<line x="24.14" y="5"/>
<line x="18.46" y="5"/>
<line x="18.55" y="5.16"/>
<move x="18.46" y="20.16"/>
<line x="22.86" y="12.5"/>
<line x="22.77" y="12.5"/>
<line x="18.46" y="20"/>
<line x="15.58" y="25"/>
<line x="15.67" y="25"/>
<line x="18.46" y="20.16"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="27.95" y="11.57"/>
<line x="24.14" y="5"/>
<line x="21.86" y="0.94"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="20.23" x-axis-rotation="0" y="0"/>
<line x="8.05" y="0"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="6.42" x-axis-rotation="0" y="0.94"/>
<line x="0.33" y="11.57"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="0.33" x-axis-rotation="0" y="13.44"/>
<line x="6.42" y="24.06"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="8.05" x-axis-rotation="0" y="25"/>
<line x="20.23" y="25"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="21.86" x-axis-rotation="0" y="24.06"/>
<line x="27.95" y="13.44"/>
<arc large-arc-flag="0" rx="1.88" ry="1.88" sweep-flag="0" x="27.95" x-axis-rotation="0" y="11.57"/>
<close/>
</path>
<fillstroke/>
<rect h="15.51" w="2.32" x="87.39" y="4.48"/>
<fillstroke/>
</foreground>
</shape>
<shape aspect="variable" h="116.59" name="Prediction API" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Prediction API" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="128.51" y="61.68"/>
<line x="95.13" y="28.29"/>
<move x="95.13" y="28.29"/>
<line x="70.07" y="70.84"/>
<line x="56.64" y="46.81"/>
<line x="37.96" y="74.53"/>
<line x="79.89" y="116.46"/>
<line x="98.14" y="116.59"/>
<line x="77.36" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="126.97" y="62.72"/>
<arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="127.78" x-axis-rotation="0" y="60.95"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="44.16" y="71.32"/>
<line x="40.48" y="69.11"/>
@ -156,41 +712,37 @@
<line x="72.08" y="68.37"/>
<line x="68.39" y="70.56"/>
<line x="56.58" y="50.62"/>
<line x="44.16" y="71.32"/>
<close/>
</path>
<fillstroke/>
<fill/>
<ellipse h="12.9" w="12.9" x="63.62" y="62.74"/>
<fillstroke/>
<fill/>
<ellipse h="12.9" w="12.9" x="36.04" y="63.49"/>
<fillstroke/>
<fill/>
<path>
<move x="77.99" y="61.68"/>
<line x="74.29" y="59.51"/>
<line x="77.15" y="54.64"/>
<line x="80.85" y="56.82"/>
<line x="77.99" y="61.68"/>
<close/>
<move x="83.19" y="52.84"/>
<line x="79.5" y="50.67"/>
<line x="82.36" y="45.8"/>
<line x="86.06" y="47.98"/>
<line x="83.19" y="52.84"/>
<line x="86.05" y="47.98"/>
<close/>
<move x="88.4" y="44.0"/>
<move x="88.4" y="44"/>
<line x="84.7" y="41.83"/>
<line x="87.56" y="36.96"/>
<line x="91.26" y="39.14"/>
<line x="88.4" y="44.0"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="95.08" y="41.5"/>
<line x="95.19" y="28.23"/>
<line x="83.65" y="34.77"/>
<line x="95.08" y="41.5"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
</shapes>

View file

@ -1,4 +1,344 @@
<shapes name="mxgraph.gcp.identity_and_security">
<shape aspect="variable" h="113.82" name="BeyondCorp" strokewidth="inherit" w="128.74">
<connections/>
<foreground>
<save/>
<path>
<move x="126.71" y="51.31"/>
<line x="100.46" y="5.77"/>
<arc large-arc-flag="0" rx="11.43" ry="11.43" sweep-flag="0" x="90.62" x-axis-rotation="0" y="0"/>
<line x="38.12" y="0"/>
<arc large-arc-flag="0" rx="11.43" ry="11.43" sweep-flag="0" x="28.28" x-axis-rotation="0" y="5.76"/>
<line x="2.03" y="51.27"/>
<arc large-arc-flag="0" rx="11.4" ry="11.4" sweep-flag="0" x="2.03" x-axis-rotation="0" y="62.66"/>
<line x="28.28" y="108.13"/>
<arc large-arc-flag="0" rx="11.36" ry="11.36" sweep-flag="0" x="38.12" x-axis-rotation="0" y="113.82"/>
<line x="90.61" y="113.82"/>
<arc large-arc-flag="0" rx="11.36" ry="11.36" sweep-flag="0" x="100.45" x-axis-rotation="0" y="108.14"/>
<line x="126.7" y="62.68"/>
<arc large-arc-flag="0" rx="11.36" ry="11.36" sweep-flag="0" x="126.71" x-axis-rotation="0" y="51.31"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="100.45" y="108.14"/>
<line x="126.7" y="62.68"/>
<curve x1="126.82" x2="126.91" x3="127.02" y1="62.47" y2="62.26" y3="62.04"/>
<line x="88.1" y="23.11"/>
<line x="80.44" y="24"/>
<curve x1="75.64" x2="69.8" x3="63.95" y1="30.43" y2="28.36" y3="28.36"/>
<arc large-arc-flag="0" rx="28.57" ry="28.57" sweep-flag="0" x="43.44" x-axis-rotation="0" y="76.83"/>
<line x="41.51" y="79.11"/>
<line x="76.22" y="113.82"/>
<line x="90.61" y="113.82"/>
<arc large-arc-flag="0" rx="11.36" ry="11.36" sweep-flag="0" x="100.45" x-axis-rotation="0" y="108.14"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="89.16" y="37.91"/>
<arc large-arc-flag="0" rx="38.7" ry="38.7" sweep-flag="1" x="85.92" x-axis-rotation="0" y="41"/>
<arc large-arc-flag="0" rx="27.18" ry="27.18" sweep-flag="1" x="50.63" x-axis-rotation="0" y="80.7"/>
<line x="56.4" y="80.7"/>
<arc large-arc-flag="0" rx="25.11" ry="25.11" sweep-flag="1" x="53.51" x-axis-rotation="0" y="76.32"/>
<line x="44.84" y="76.32"/>
<arc large-arc-flag="0" rx="27.41" ry="27.41" sweep-flag="1" x="41.49" x-axis-rotation="0" y="72.32"/>
<line x="51.73" y="72.32"/>
<arc large-arc-flag="0" rx="39.94" ry="39.94" sweep-flag="1" x="50.4" x-axis-rotation="0" y="67.94"/>
<line x="39.06" y="67.94"/>
<arc large-arc-flag="0" rx="27" ry="27" sweep-flag="1" x="37.65" x-axis-rotation="0" y="63.94"/>
<line x="49.65" y="63.94"/>
<quad x1="49.33" x2="49.2" y1="61.81" y2="59.56"/>
<line x="36.87" y="59.56"/>
<curve x1="36.79" x2="36.75" x3="36.75" y1="58.72" y2="57.86" y3="57"/>
<line x="36.75" y="55.55"/>
<line x="49.05" y="55.55"/>
<arc large-arc-flag="0" rx="41.04" ry="41.04" sweep-flag="1" x="49.32" x-axis-rotation="0" y="51.17"/>
<line x="37.32" y="51.17"/>
<arc large-arc-flag="0" rx="27" ry="27" sweep-flag="1" x="38.53" x-axis-rotation="0" y="47.17"/>
<line x="49.97" y="47.17"/>
<arc large-arc-flag="0" rx="42.49" ry="42.49" sweep-flag="1" x="51.07" x-axis-rotation="0" y="42.79"/>
<line x="40.77" y="42.79"/>
<arc large-arc-flag="0" rx="27.36" ry="27.36" sweep-flag="1" x="43.77" x-axis-rotation="0" y="38.79"/>
<line x="52.57" y="38.79"/>
<arc large-arc-flag="0" rx="29.14" ry="29.14" sweep-flag="1" x="54.96" x-axis-rotation="0" y="34.41"/>
<line x="48.82" y="34.41"/>
<arc large-arc-flag="0" rx="27" ry="27" sweep-flag="1" x="74.82" x-axis-rotation="0" y="32.09"/>
<arc large-arc-flag="0" rx="35.72" ry="35.72" sweep-flag="0" x="79.15" x-axis-rotation="0" y="42.8"/>
<curve x1="79.16" x2="89" x3="90.51" y1="42.8" y2="37.18" y3="31.23"/>
<arc large-arc-flag="0" rx="8.13" ry="8.13" sweep-flag="0" x="74.79" x-axis-rotation="0" y="27.11"/>
<line x="74.79" y="27.33"/>
<arc large-arc-flag="1" rx="31.57" ry="31.57" sweep-flag="0" x="95.51" x-axis-rotation="0" y="57"/>
<arc large-arc-flag="0" rx="29.32" ry="29.32" sweep-flag="0" x="89.16" x-axis-rotation="0" y="37.91"/>
<close/>
<move x="79.03" y="28.13"/>
<arc large-arc-flag="1" rx="3.82" ry="3.82" sweep-flag="1" x="81.77" x-axis-rotation="0" y="32.79"/>
<line x="81.77" y="32.79"/>
<line x="81.76" y="32.79"/>
<arc large-arc-flag="0" rx="3.82" ry="3.82" sweep-flag="1" x="79.03" x-axis-rotation="0" y="28.13"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Cloud Data Loss Prevention API" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="103.28" y="43.15"/>
<line x="99.64" y="44.01"/>
<line x="99.1" y="46.8"/>
<line x="102.22" y="46.92"/>
<line x="102.23" y="50.64"/>
<line x="100.38" y="50.97"/>
<line x="99.5" y="50.19"/>
<line x="92.43" y="43.14"/>
<line x="88.85" y="45.68"/>
<line x="91.23" y="48.06"/>
<line x="91.51" y="49.59"/>
<line x="79.49" y="37.58"/>
<line x="53.76" y="37.58"/>
<line x="48.51" y="43.47"/>
<line x="44.99" y="49.15"/>
<line x="39.31" y="43.47"/>
<line x="35.73" y="46.01"/>
<line x="38.1" y="48.37"/>
<line x="39.07" y="51.38"/>
<line x="31.17" y="43.48"/>
<line x="26.93" y="44.93"/>
<line x="27.62" y="46.81"/>
<line x="30.57" y="47.8"/>
<line x="30.27" y="50.8"/>
<line x="26.57" y="51"/>
<line x="35.97" y="60.39"/>
<line x="36.31" y="60.99"/>
<line x="29.81" y="54.49"/>
<line x="26.24" y="57.03"/>
<line x="28.89" y="59.68"/>
<line x="28.18" y="62.71"/>
<line x="45.73" y="80.25"/>
<line x="41.73" y="85.55"/>
<line x="70.13" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="125.46" y="65.33"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="75.83" y="34.67"/>
<arc large-arc-flag="0" rx="21.27" ry="21.27" sweep-flag="0" x="48.41" x-axis-rotation="0" y="38.76"/>
<arc large-arc-flag="0" rx="20.56" ry="20.56" sweep-flag="0" x="43.23" x-axis-rotation="0" y="52.77"/>
<curve x1="43.32" x2="46.61" x3="52.57" y1="60.18" y2="65.99" y3="70.35"/>
<line x="51.91" y="71.44"/>
<line x="49.71" y="72.05"/>
<curve x1="46.26" x2="45.01" x3="41.73" y1="78.11" y2="79.79" y3="85.55"/>
<line x="47.46" y="88.86"/>
<curve x1="50.78" x2="52.03" x3="55.45" y1="83.03" y2="81.34" y3="75.34"/>
<line x="54.8" y="72.98"/>
<line x="55.36" y="71.99"/>
<arc large-arc-flag="0" rx="21.32" ry="21.32" sweep-flag="0" x="75.83" x-axis-rotation="0" y="34.67"/>
<close/>
<move x="68.36" y="66.91"/>
<arc large-arc-flag="1" rx="14.74" ry="14.74" sweep-flag="1" x="78.72" x-axis-rotation="0" y="48.82"/>
<line x="78.73" y="48.87"/>
<arc large-arc-flag="0" rx="14.76" ry="14.76" sweep-flag="1" x="68.36" x-axis-rotation="0" y="66.91"/>
<close/>
<move x="26.1" y="47.65"/>
<line x="26.57" y="43.48"/>
<line x="31.17" y="43.48"/>
<line x="31.17" y="44.83"/>
<line x="27.91" y="44.83"/>
<line x="27.7" y="46.6"/>
<arc large-arc-flag="0" rx="2.58" ry="2.58" sweep-flag="1" x="28.94" x-axis-rotation="0" y="46.29"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="30.78" x-axis-rotation="0" y="47.01"/>
<arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="31.44" x-axis-rotation="0" y="49.05"/>
<arc large-arc-flag="0" rx="2.97" ry="2.97" sweep-flag="1" x="31.11" x-axis-rotation="0" y="50.47"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="30.14" x-axis-rotation="0" y="51.45"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="28.67" x-axis-rotation="0" y="51.79"/>
<arc large-arc-flag="0" rx="3.19" ry="3.19" sweep-flag="1" x="27.29" x-axis-rotation="0" y="51.49"/>
<arc large-arc-flag="0" rx="2.45" ry="2.45" sweep-flag="1" x="26.28" x-axis-rotation="0" y="50.64"/>
<arc large-arc-flag="0" rx="2.32" ry="2.32" sweep-flag="1" x="25.89" x-axis-rotation="0" y="49.4"/>
<line x="27.5" y="49.4"/>
<arc large-arc-flag="0" rx="1.2" ry="1.2" sweep-flag="0" x="27.86" x-axis-rotation="0" y="50.2"/>
<arc large-arc-flag="0" rx="1.13" ry="1.13" sweep-flag="0" x="28.66" x-axis-rotation="0" y="50.48"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="0" x="29.51" x-axis-rotation="0" y="50.08"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="0" x="29.81" x-axis-rotation="0" y="48.96"/>
<arc large-arc-flag="0" rx="1.52" ry="1.52" sweep-flag="0" x="29.47" x-axis-rotation="0" y="47.89"/>
<arc large-arc-flag="0" rx="1.26" ry="1.26" sweep-flag="0" x="28.49" x-axis-rotation="0" y="47.52"/>
<arc large-arc-flag="0" rx="1.41" ry="1.41" sweep-flag="0" x="27.55" x-axis-rotation="0" y="47.82"/>
<line x="27.4" y="47.97"/>
<close/>
<move x="39.31" y="51.68"/>
<line x="37.68" y="51.68"/>
<line x="37.68" y="45.4"/>
<line x="35.73" y="46.01"/>
<line x="35.73" y="44.68"/>
<line x="39.13" y="43.47"/>
<line x="39.31" y="43.47"/>
<close/>
<move x="29.81" y="62.71"/>
<line x="28.18" y="62.71"/>
<line x="28.18" y="56.43"/>
<line x="26.24" y="57.03"/>
<line x="26.24" y="55.71"/>
<line x="29.64" y="54.49"/>
<line x="29.81" y="54.49"/>
<close/>
<move x="40.87" y="59.31"/>
<arc large-arc-flag="0" rx="4.15" ry="4.15" sweep-flag="1" x="40.17" x-axis-rotation="0" y="61.92"/>
<arc large-arc-flag="0" rx="2.82" ry="2.82" sweep-flag="1" x="36.19" x-axis-rotation="0" y="62.07"/>
<quad x1="36.12" x2="36.05" y1="62" y2="61.93"/>
<arc large-arc-flag="0" rx="4.04" ry="4.04" sweep-flag="1" x="35.33" x-axis-rotation="0" y="59.4"/>
<line x="35.33" y="57.89"/>
<arc large-arc-flag="0" rx="4.1" ry="4.1" sweep-flag="1" x="36.04" x-axis-rotation="0" y="55.28"/>
<arc large-arc-flag="0" rx="2.82" ry="2.82" sweep-flag="1" x="40.03" x-axis-rotation="0" y="55.15"/>
<quad x1="40.09" x2="40.15" y1="55.21" y2="55.27"/>
<arc large-arc-flag="0" rx="4.02" ry="4.02" sweep-flag="1" x="40.87" x-axis-rotation="0" y="57.8"/>
<close/>
<move x="39.24" y="57.65"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="0" x="38.96" x-axis-rotation="0" y="56.17"/>
<arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="38.09" x-axis-rotation="0" y="55.7"/>
<arc large-arc-flag="0" rx="0.93" ry="0.93" sweep-flag="0" x="37.25" x-axis-rotation="0" y="56.15"/>
<arc large-arc-flag="0" rx="2.81" ry="2.81" sweep-flag="0" x="36.96" x-axis-rotation="0" y="57.53"/>
<line x="36.96" y="59.53"/>
<arc large-arc-flag="0" rx="3.15" ry="3.15" sweep-flag="0" x="37.23" x-axis-rotation="0" y="61.02"/>
<arc large-arc-flag="0" rx="0.93" ry="0.93" sweep-flag="0" x="38.11" x-axis-rotation="0" y="61.51"/>
<arc large-arc-flag="0" rx="0.92" ry="0.92" sweep-flag="0" x="38.97" x-axis-rotation="0" y="61.04"/>
<arc large-arc-flag="0" rx="3.08" ry="3.08" sweep-flag="0" x="39.24" x-axis-rotation="0" y="59.61"/>
<close/>
<move x="92.43" y="51.35"/>
<line x="90.8" y="51.35"/>
<line x="90.8" y="45.07"/>
<line x="88.85" y="45.68"/>
<line x="88.85" y="44.35"/>
<line x="92.25" y="43.14"/>
<line x="92.43" y="43.14"/>
<close/>
<move x="98.21" y="47.32"/>
<line x="98.68" y="43.15"/>
<line x="103.28" y="43.15"/>
<line x="103.28" y="44.51"/>
<line x="100.02" y="44.51"/>
<line x="99.81" y="46.27"/>
<arc large-arc-flag="0" rx="2.58" ry="2.58" sweep-flag="1" x="101.05" x-axis-rotation="0" y="45.96"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="102.88" x-axis-rotation="0" y="46.69"/>
<arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="103.55" x-axis-rotation="0" y="48.72"/>
<arc large-arc-flag="0" rx="2.97" ry="2.97" sweep-flag="1" x="103.21" x-axis-rotation="0" y="50.14"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="102.25" x-axis-rotation="0" y="51.12"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="100.78" x-axis-rotation="0" y="51.46"/>
<arc large-arc-flag="0" rx="3.19" ry="3.19" sweep-flag="1" x="99.4" x-axis-rotation="0" y="51.16"/>
<arc large-arc-flag="0" rx="2.45" ry="2.45" sweep-flag="1" x="98.39" x-axis-rotation="0" y="50.31"/>
<arc large-arc-flag="0" rx="2.32" ry="2.32" sweep-flag="1" x="98" x-axis-rotation="0" y="49.07"/>
<line x="99.61" y="49.07"/>
<arc large-arc-flag="0" rx="1.2" ry="1.2" sweep-flag="0" x="99.97" x-axis-rotation="0" y="49.87"/>
<arc large-arc-flag="0" rx="1.13" ry="1.13" sweep-flag="0" x="100.77" x-axis-rotation="0" y="50.15"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="0" x="101.62" x-axis-rotation="0" y="49.75"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="0" x="101.92" x-axis-rotation="0" y="48.63"/>
<arc large-arc-flag="0" rx="1.52" ry="1.52" sweep-flag="0" x="101.58" x-axis-rotation="0" y="47.56"/>
<arc large-arc-flag="0" rx="1.26" ry="1.26" sweep-flag="0" x="100.6" x-axis-rotation="0" y="47.19"/>
<arc large-arc-flag="0" rx="1.41" ry="1.41" sweep-flag="0" x="99.66" x-axis-rotation="0" y="47.49"/>
<line x="99.5" y="47.64"/>
<close/>
<move x="93.99" y="59.31"/>
<arc large-arc-flag="0" rx="4.15" ry="4.15" sweep-flag="1" x="93.29" x-axis-rotation="0" y="61.92"/>
<arc large-arc-flag="0" rx="2.82" ry="2.82" sweep-flag="1" x="89.31" x-axis-rotation="0" y="62.07"/>
<quad x1="89.24" x2="89.18" y1="62" y2="61.93"/>
<arc large-arc-flag="0" rx="4.04" ry="4.04" sweep-flag="1" x="88.45" x-axis-rotation="0" y="59.4"/>
<line x="88.45" y="57.89"/>
<arc large-arc-flag="0" rx="4.1" ry="4.1" sweep-flag="1" x="89.16" x-axis-rotation="0" y="55.28"/>
<arc large-arc-flag="0" rx="2.82" ry="2.82" sweep-flag="1" x="93.15" x-axis-rotation="0" y="55.15"/>
<quad x1="93.21" x2="93.27" y1="55.21" y2="55.27"/>
<arc large-arc-flag="0" rx="4.02" ry="4.02" sweep-flag="1" x="93.99" x-axis-rotation="0" y="57.8"/>
<close/>
<move x="92.37" y="57.65"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="0" x="92.09" x-axis-rotation="0" y="56.17"/>
<arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="91.22" x-axis-rotation="0" y="55.7"/>
<arc large-arc-flag="0" rx="0.93" ry="0.93" sweep-flag="0" x="90.37" x-axis-rotation="0" y="56.15"/>
<arc large-arc-flag="0" rx="2.81" ry="2.81" sweep-flag="0" x="90.08" x-axis-rotation="0" y="57.53"/>
<line x="90.08" y="59.53"/>
<arc large-arc-flag="0" rx="3.15" ry="3.15" sweep-flag="0" x="90.35" x-axis-rotation="0" y="61.02"/>
<arc large-arc-flag="0" rx="0.93" ry="0.93" sweep-flag="0" x="91.23" x-axis-rotation="0" y="61.51"/>
<arc large-arc-flag="0" rx="0.92" ry="0.92" sweep-flag="0" x="92.09" x-axis-rotation="0" y="61.04"/>
<arc large-arc-flag="0" rx="3.08" ry="3.08" sweep-flag="0" x="92.37" x-axis-rotation="0" y="59.61"/>
<close/>
<move x="98.21" y="58.67"/>
<line x="98.68" y="54.5"/>
<line x="103.28" y="54.5"/>
<line x="103.28" y="55.86"/>
<line x="100.02" y="55.86"/>
<line x="99.81" y="57.62"/>
<arc large-arc-flag="0" rx="2.58" ry="2.58" sweep-flag="1" x="101.05" x-axis-rotation="0" y="57.31"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="102.88" x-axis-rotation="0" y="58.04"/>
<arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="103.55" x-axis-rotation="0" y="60.08"/>
<arc large-arc-flag="0" rx="2.97" ry="2.97" sweep-flag="1" x="103.21" x-axis-rotation="0" y="61.5"/>
<arc large-arc-flag="0" rx="2.37" ry="2.37" sweep-flag="1" x="102.25" x-axis-rotation="0" y="62.47"/>
<arc large-arc-flag="0" rx="3" ry="3" sweep-flag="1" x="100.78" x-axis-rotation="0" y="62.82"/>
<arc large-arc-flag="0" rx="3.19" ry="3.19" sweep-flag="1" x="99.4" x-axis-rotation="0" y="62.52"/>
<arc large-arc-flag="0" rx="2.46" ry="2.46" sweep-flag="1" x="98.39" x-axis-rotation="0" y="61.67"/>
<arc large-arc-flag="0" rx="2.32" ry="2.32" sweep-flag="1" x="98" x-axis-rotation="0" y="60.42"/>
<line x="99.61" y="60.42"/>
<arc large-arc-flag="0" rx="1.2" ry="1.2" sweep-flag="0" x="99.97" x-axis-rotation="0" y="61.22"/>
<arc large-arc-flag="0" rx="1.14" ry="1.14" sweep-flag="0" x="100.77" x-axis-rotation="0" y="61.51"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="0" x="101.62" x-axis-rotation="0" y="61.11"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="0" x="101.92" x-axis-rotation="0" y="59.98"/>
<arc large-arc-flag="0" rx="1.52" ry="1.52" sweep-flag="0" x="101.58" x-axis-rotation="0" y="58.91"/>
<arc large-arc-flag="0" rx="1.26" ry="1.26" sweep-flag="0" x="100.6" x-axis-rotation="0" y="58.54"/>
<arc large-arc-flag="0" rx="1.41" ry="1.41" sweep-flag="0" x="99.66" x-axis-rotation="0" y="58.85"/>
<line x="99.5" y="58.99"/>
<close/>
<move x="55.91" y="60.54"/>
<curve x1="55.91" x2="55.87" x3="55.92" y1="59.3" y2="58.09" y3="56.89"/>
<arc large-arc-flag="0" rx="3.24" ry="3.24" sweep-flag="1" x="57.25" x-axis-rotation="0" y="54.52"/>
<arc large-arc-flag="0" rx="9.33" ry="9.33" sweep-flag="1" x="60.48" x-axis-rotation="0" y="52.83"/>
<arc large-arc-flag="0" rx="11.11" ry="11.11" sweep-flag="1" x="69.88" x-axis-rotation="0" y="53.9"/>
<arc large-arc-flag="0" rx="5.99" ry="5.99" sweep-flag="1" x="70.93" x-axis-rotation="0" y="54.69"/>
<arc large-arc-flag="0" rx="3.47" ry="3.47" sweep-flag="1" x="72.1" x-axis-rotation="0" y="57.59"/>
<curve x1="72.05" x2="72.09" x3="72.09" y1="58.56" y2="59.54" y3="60.54"/>
<close/>
<move x="63.99" y="50.42"/>
<arc large-arc-flag="1" rx="4.18" ry="4.18" sweep-flag="1" x="68.17" x-axis-rotation="0" y="46.25"/>
<line x="68.17" y="46.29"/>
<arc large-arc-flag="0" rx="4.18" ry="4.18" sweep-flag="1" x="63.99" x-axis-rotation="0" y="50.42"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114" name="Cloud IAM" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
@ -20,6 +360,7 @@
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
@ -33,10 +374,11 @@
<line x="122.41" y="70.65"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.51" y="26.73"/>
@ -63,7 +405,277 @@
<line x="79.51" y="71.58"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Cloud Identity Aware Proxy" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="122.28" y="70.84"/>
<line x="90.1" y="38.7"/>
<line x="81.46" y="41.28"/>
<line x="83.75" y="43.57"/>
<line x="81.86" y="44.7"/>
<line x="92.74" y="55.58"/>
<line x="86.89" y="57.05"/>
<line x="74.47" y="44.63"/>
<line x="58.45" y="41.72"/>
<line x="47.92" y="49.03"/>
<line x="46.99" y="65.5"/>
<line x="35.39" y="53.6"/>
<line x="29.23" y="54.33"/>
<line x="28.72" y="60.34"/>
<line x="82.31" y="113.93"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="61.88" y="39.45"/>
<arc large-arc-flag="1" rx="17.9" ry="17.9" sweep-flag="0" x="79.78" x-axis-rotation="0" y="57.35"/>
<arc large-arc-flag="0" rx="17.9" ry="17.9" sweep-flag="0" x="61.88" x-axis-rotation="0" y="39.45"/>
<close/>
<move x="61.88" y="71.32"/>
<arc large-arc-flag="1" rx="13.96" ry="13.96" sweep-flag="1" x="75.84" x-axis-rotation="0" y="57.35"/>
<arc large-arc-flag="0" rx="13.96" ry="13.96" sweep-flag="1" x="61.88" x-axis-rotation="0" y="71.32"/>
<close/>
<move x="68.62" y="59.47"/>
<arc large-arc-flag="0" rx="5.83" ry="5.83" sweep-flag="0" x="67.61" x-axis-rotation="0" y="58.7"/>
<arc large-arc-flag="0" rx="10.82" ry="10.82" sweep-flag="0" x="58.45" x-axis-rotation="0" y="57.66"/>
<arc large-arc-flag="0" rx="9.08" ry="9.08" sweep-flag="0" x="55.31" x-axis-rotation="0" y="59.3"/>
<arc large-arc-flag="0" rx="3.15" ry="3.15" sweep-flag="0" x="54.01" x-axis-rotation="0" y="61.61"/>
<curve x1="53.97" x2="54" x3="54" y1="62.78" y2="63.96" y3="65.16"/>
<line x="69.76" y="65.16"/>
<curve x1="69.76" x2="69.72" x3="69.77" y1="64.19" y2="63.24" y3="62.29"/>
<arc large-arc-flag="0" rx="3.38" ry="3.38" sweep-flag="0" x="68.62" x-axis-rotation="0" y="59.47"/>
<close/>
<move x="61.87" y="55.32"/>
<arc large-arc-flag="1" rx="4.06" ry="4.06" sweep-flag="0" x="61.84" x-axis-rotation="0" y="55.32"/>
<close/>
<move x="93.21" y="52.48"/>
<line x="89.57" y="52.48"/>
<line x="92.28" y="55.19"/>
<line x="84.5" y="55.19"/>
<line x="84.5" y="58.36"/>
<line x="92.28" y="58.36"/>
<line x="89.57" y="61.07"/>
<line x="93.21" y="61.07"/>
<line x="97.5" y="56.77"/>
<line x="93.21" y="52.48"/>
<close/>
<move x="81.86" y="44.7"/>
<line x="84.1" y="46.94"/>
<line x="87.53" y="43.51"/>
<line x="87.53" y="47.35"/>
<line x="90.1" y="44.77"/>
<line x="90.1" y="38.7"/>
<line x="84.03" y="38.7"/>
<line x="81.46" y="41.28"/>
<line x="85.29" y="41.28"/>
<line x="81.86" y="44.7"/>
<close/>
<move x="87.53" y="70.42"/>
<line x="84.1" y="66.99"/>
<line x="81.86" y="69.23"/>
<line x="85.29" y="72.66"/>
<line x="81.46" y="72.66"/>
<line x="84.03" y="75.23"/>
<line x="90.1" y="75.23"/>
<line x="90.1" y="69.16"/>
<line x="87.53" y="66.59"/>
<line x="87.53" y="70.42"/>
<close/>
<move x="32.05" y="52.22"/>
<arc large-arc-flag="1" rx="4.75" ry="4.75" sweep-flag="0" x="36.8" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="4.75" ry="4.75" sweep-flag="0" x="32.05" x-axis-rotation="0" y="52.22"/>
<close/>
<move x="32.05" y="59.6"/>
<arc large-arc-flag="1" rx="2.64" ry="2.64" sweep-flag="1" x="34.69" x-axis-rotation="0" y="56.97"/>
<arc large-arc-flag="0" rx="2.64" ry="2.64" sweep-flag="1" x="32.05" x-axis-rotation="0" y="59.6"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.97" name="Cloud Platform Security" strokewidth="inherit" w="129.07">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.23"/>
<line x="2.05" y="62.76"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.26"/>
<line x="28.3" y="5.79"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0.01"/>
<line x="90.76" y="0.01"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.76" x-axis-rotation="0" y="5.76"/>
<line x="127.01" y="51.23"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="127.01" x-axis-rotation="0" y="62.73"/>
<line x="100.76" y="108.2"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.95"/>
<line x="38.26" y="113.95"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.23"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="89.06" y="38.01"/>
<line x="66.24" y="35.01"/>
<line x="46.24" y="40.24"/>
<line x="44.91" y="66.52"/>
<line x="51.82" y="75.66"/>
<line x="49.34" y="77.93"/>
<line x="85.34" y="113.93"/>
<line x="90.72" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="122.16" y="71.04"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.63" y="41.01"/>
<arc large-arc-flag="0" rx="5.65" ry="5.65" sweep-flag="0" x="58.99" x-axis-rotation="0" y="46.65"/>
<line x="58.99" y="49.01"/>
<line x="70.27" y="49.01"/>
<line x="70.27" y="46.61"/>
<arc large-arc-flag="0" rx="5.65" ry="5.65" sweep-flag="0" x="64.63" x-axis-rotation="0" y="41.01"/>
<close/>
</path>
<fill/>
<ellipse h="8" w="8" x="60.51" y="56.01"/>
<fill/>
<path>
<move x="64.51" y="27.07"/>
<line x="39.96" y="38.01"/>
<line x="39.96" y="54.34"/>
<curve x1="39.96" x2="50.43" x3="64.51" y1="69.48" y2="83.63" y3="87.07"/>
<curve x1="78.58" x2="89.06" x3="89.06" y1="83.63" y2="69.48" y3="54.34"/>
<line x="89.06" y="38.01"/>
<close/>
<move x="77.51" y="71.01"/>
<line x="51.51" y="71.01"/>
<line x="51.51" y="49.01"/>
<line x="55.24" y="49.01"/>
<line x="55.24" y="46.61"/>
<arc large-arc-flag="1" rx="9.39" ry="9.39" sweep-flag="1" x="74.03" x-axis-rotation="0" y="46.61"/>
<line x="74.03" y="49.01"/>
<line x="77.51" y="49.01"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Security Key Enforcement" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="78.46" y="38.23"/>
<line x="80.03" y="50.5"/>
<line x="67.7" y="38.17"/>
<line x="59.17" y="66.59"/>
<line x="47.07" y="75.33"/>
<line x="85.67" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="118.18" y="77.95"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="55.11" y="67.2"/>
<curve x1="55.11" x2="55.15" x3="55.06" y1="64.3" y2="61.56" y3="58.82"/>
<curve x1="55.05" x2="54.4" x3="53.97" y1="58.49" y2="58.08" y3="57.87"/>
<arc large-arc-flag="1" rx="12.18" ry="12.18" sweep-flag="1" x="70.6" x-axis-rotation="0" y="42.64"/>
<arc large-arc-flag="0" rx="12.05" ry="12.05" sweep-flag="1" x="64.44" x-axis-rotation="0" y="57.79"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="0" x="63.22" x-axis-rotation="0" y="59.81"/>
<curve x1="63.26" x2="63.24" x3="63.24" y1="65.76" y2="71.71" y3="77.67"/>
<line x="63.24" y="79.25"/>
<line x="55.15" y="79.25"/>
<line x="55.15" y="75.33"/>
<line x="47.07" y="75.33"/>
<line x="47.07" y="67.2"/>
<close/>
<move x="63.24" y="46.87"/>
<arc large-arc-flag="1" rx="4.06" ry="4.06" sweep-flag="0" x="59.15" x-axis-rotation="0" y="50.89"/>
<line x="59.16" y="50.89"/>
<arc large-arc-flag="0" rx="4.08" ry="4.08" sweep-flag="0" x="63.24" x-axis-rotation="0" y="46.87"/>
<close/>
<move x="81.28" y="42.64"/>
<arc large-arc-flag="0" rx="12.14" ry="12.14" sweep-flag="0" x="67.19" x-axis-rotation="0" y="35"/>
<arc large-arc-flag="0" rx="12.14" ry="12.14" sweep-flag="1" x="69.72" x-axis-rotation="0" y="57.79"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="0" x="68.5" x-axis-rotation="0" y="59.81"/>
<curve x1="68.54" x2="68.52" x3="68.52" y1="65.77" y2="71.72" y3="77.67"/>
<line x="68.52" y="79.25"/>
<line x="73.93" y="79.25"/>
<line x="73.93" y="77.67"/>
<curve x1="73.93" x2="73.95" x3="73.91" y1="71.72" y2="65.77" y3="59.81"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="75.13" x-axis-rotation="0" y="57.79"/>
<arc large-arc-flag="0" rx="12.05" ry="12.05" sweep-flag="0" x="81.28" x-axis-rotation="0" y="42.64"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
</shapes>

View file

@ -21,7 +21,7 @@
</path>
<fillstroke/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000002"/>
<alpha alpha="0.07"/>
<path>
<move x="80.76" y="27.72"/>
<line x="68.55" y="33.94"/>
@ -37,7 +37,7 @@
<line x="122.88" y="69.95"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
@ -82,9 +82,6 @@
<line x="71.51" y="66.97"/>
<line x="80.44" y="66.97"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="48.59" y="66.97"/>
<line x="45.66" y="61.97"/>
<line x="34.41" y="61.97"/>
@ -125,174 +122,278 @@
<line x="48.59" y="66.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.63" name="Jobs API" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud Video Intelligence API" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.0"/>
<line x="90.76" y="0.0"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.72" x-axis-rotation="0.0" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="126.97" x-axis-rotation="0.0" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.3" x-axis-rotation="0.0" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="119.74" y="79.45"/>
<line x="81.14" y="40.84"/>
<move x="70.34" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="123.68" y="68.41"/>
<line x="94.5" y="39.29"/>
<line x="89.82" y="48.17"/>
<line x="77.51" y="35.97"/>
<line x="65.36" y="42.98"/>
<line x="70.89" y="48.52"/>
<line x="68.28" y="48.48"/>
<line x="55.76" y="35.97"/>
<line x="39.11" y="38.97"/>
<line x="34.53" y="48.97"/>
<line x="40.82" y="55.22"/>
<line x="34.53" y="60.72"/>
<line x="41.54" y="67.85"/>
<line x="34.53" y="77.97"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="77.51" y="35.97"/>
<line x="60.93" y="35.97"/>
<line x="65.35" y="42.97"/>
<line x="71.51" y="42.97"/>
<line x="71.51" y="46.97"/>
<line x="62.74" y="46.97"/>
<line x="55.76" y="35.97"/>
<line x="34.53" y="35.97"/>
<line x="34.53" y="48.97"/>
<line x="40.51" y="48.97"/>
<line x="44.29" y="41.97"/>
<line x="52.01" y="41.97"/>
<line x="54.57" y="45.97"/>
<line x="46.87" y="45.97"/>
<line x="43.09" y="52.97"/>
<line x="34.53" y="52.97"/>
<line x="34.53" y="60.72"/>
<line x="43.09" y="60.72"/>
<line x="46.87" y="67.97"/>
<line x="54.57" y="67.97"/>
<line x="52.01" y="71.97"/>
<line x="44.29" y="71.97"/>
<line x="40.51" y="64.97"/>
<line x="34.53" y="64.97"/>
<line x="34.53" y="77.97"/>
<line x="55.76" y="77.97"/>
<line x="62.74" y="66.97"/>
<line x="71.51" y="66.97"/>
<line x="71.51" y="70.97"/>
<line x="65.35" y="70.97"/>
<line x="60.93" y="77.97"/>
<line x="77.51" y="77.97"/>
<line x="77.51" y="58.97"/>
<line x="58.27" y="58.97"/>
<line x="55.79" y="62.97"/>
<line x="50.26" y="62.97"/>
<line x="54.06" y="56.97"/>
<line x="50.26" y="50.97"/>
<line x="55.79" y="50.97"/>
<line x="58.18" y="54.96"/>
<line x="77.51" y="54.96"/>
<line x="77.51" y="35.97"/>
<close/>
<move x="94.5" y="39.29"/>
<line x="82.51" y="48"/>
<line x="82.51" y="66.31"/>
<line x="94.5" y="75.14"/>
<line x="94.5" y="39.29"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Jobs API" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="81.14" y="40.84"/>
<line x="64.51" y="36.39"/>
<line x="49.58" y="41.94"/>
<line x="43.82" y="56.97"/>
<line x="48.45" y="73.7"/>
<line x="89.39" y="114.63"/>
<line x="98.08" y="114.25"/>
<line x="119.74" y="79.45"/>
<line x="88.69" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="118.2" y="77.91"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.51" y="33.77"/>
<arc large-arc-flag="1.0" rx="23.2" ry="23.2" sweep-flag="0.0" x="87.71" x-axis-rotation="0.0" y="56.97"/>
<arc large-arc-flag="0.0" rx="23.2" ry="23.2" sweep-flag="0.0" x="64.51" x-axis-rotation="0.0" y="33.77"/>
<arc large-arc-flag="1" rx="23.2" ry="23.2" sweep-flag="0" x="87.71" x-axis-rotation="0" y="56.97"/>
<line x="87.71" y="56.97"/>
<arc large-arc-flag="0" rx="23.2" ry="23.2" sweep-flag="0" x="64.51" x-axis-rotation="0" y="33.77"/>
<move x="64.51" y="74.57"/>
<arc large-arc-flag="1.0" rx="17.6" ry="17.6" sweep-flag="1.0" x="82.11" x-axis-rotation="0.0" y="56.97"/>
<arc large-arc-flag="0.0" rx="17.6" ry="17.6" sweep-flag="1.0" x="64.51" x-axis-rotation="0.0" y="74.57"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="1" rx="17.6" ry="17.6" sweep-flag="1" x="82.11" x-axis-rotation="0" y="56.97"/>
<line x="82.11" y="56.97"/>
<arc large-arc-flag="0" rx="17.6" ry="17.6" sweep-flag="1" x="64.52" x-axis-rotation="0" y="74.57"/>
<line x="64.51" y="74.57"/>
<move x="81.21" y="71.25"/>
<line x="78.8" y="73.66"/>
<arc large-arc-flag="0.0" rx="1.09" ry="1.09" sweep-flag="0.0" x="78.8" x-axis-rotation="0.0" y="75.2"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="78.8" x-axis-rotation="0" y="75.2"/>
<line x="87.92" y="84.31"/>
<arc large-arc-flag="0.0" rx="1.09" ry="1.09" sweep-flag="0.0" x="89.45" x-axis-rotation="0.0" y="84.31"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="89.45" x-axis-rotation="0" y="84.31"/>
<line x="91.86" y="81.91"/>
<arc large-arc-flag="0.0" rx="1.09" ry="1.09" sweep-flag="0.0" x="91.86" x-axis-rotation="0.0" y="80.37"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="91.86" x-axis-rotation="0" y="80.37"/>
<line x="82.74" y="71.25"/>
<arc large-arc-flag="0.0" rx="1.09" ry="1.09" sweep-flag="0.0" x="81.21" x-axis-rotation="0.0" y="71.25"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="81.21" x-axis-rotation="0" y="71.25"/>
</path>
<fillstroke/>
<roundrect arcsize="10.6" h="15.0" w="22.0" x="53.51" y="50.97"/>
<fillstroke/>
<fill/>
<roundrect arcsize="10.6" h="15" w="22" x="53.51" y="50.97"/>
<fill/>
<path>
<move x="68.51" y="47.97"/>
<line x="68.51" y="50.97"/>
<line x="60.51" y="50.97"/>
<line x="60.51" y="47.97"/>
<line x="68.51" y="47.97"/>
<close/>
<move x="58.51" y="47.97"/>
<line x="58.51" y="53.97"/>
<line x="70.51" y="53.97"/>
<line x="70.51" y="47.97"/>
<arc large-arc-flag="0.0" rx="2.0" ry="2.0" sweep-flag="0.0" x="68.51" x-axis-rotation="0.0" y="45.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="68.51" x-axis-rotation="0" y="45.97"/>
<line x="60.51" y="45.97"/>
<arc large-arc-flag="0.0" rx="2.0" ry="2.0" sweep-flag="0.0" x="58.51" x-axis-rotation="0.0" y="47.97"/>
<arc large-arc-flag="0" rx="2" ry="2" sweep-flag="0" x="58.51" x-axis-rotation="0" y="47.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Natural Language API" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="114" name="Natural Language API" strokewidth="inherit" w="129.3">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<move x="28.4" y="108.2"/>
<line x="2.1" y="62.7"/>
<curve x1="0" x2="0" x3="2.1" y1="59.1" y2="54.8" y3="51.2"/>
<line x="28.4" y="5.7"/>
<curve x1="30.5" x2="34.3" x3="38.4" y1="2.1" y2="0" y3="0"/>
<line x="90.9" y="0"/>
<curve x1="95" x2="98.8" x3="100.9" y1="0" y2="2.2" y3="5.7"/>
<line x="127.2" y="51.2"/>
<curve x1="129.3" x2="129.3" x3="127.2" y1="54.8" y2="59.1" y3="62.7"/>
<line x="100.9" y="108.2"/>
<curve x1="98.8" x2="95" x3="90.9" y1="111.8" y2="113.9" y3="113.9"/>
<line x="38.4" y="113.9"/>
<curve x1="34.2" x2="30.4" x3="28.4" y1="114" y2="111.8" y3="108.2"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000002"/>
<alpha alpha="0.07"/>
<path>
<move x="127.96" y="60.41"/>
<line x="94.51" y="26.97"/>
<line x="92.66" y="51.11"/>
<line x="79.51" y="37.97"/>
<line x="63.18" y="42.63"/>
<line x="47.51" y="26.97"/>
<line x="40.51" y="33.97"/>
<line x="40.51" y="64.3"/>
<line x="34.51" y="86.97"/>
<line x="61.48" y="113.93"/>
<line x="90.76" y="113.93"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="113.93" y2="111.74" y3="108.18"/>
<line x="126.97" y="62.72"/>
<curve x1="127.4" x2="127.71" x3="127.96" y1="61.98" y2="61.21" y3="60.41"/>
<move x="128" y="60.4"/>
<line x="94.6" y="27"/>
<line x="92.7" y="51.1"/>
<line x="79.6" y="38"/>
<line x="63.3" y="42.7"/>
<line x="47.6" y="27"/>
<line x="40.6" y="34"/>
<line x="40.6" y="64.3"/>
<line x="34.6" y="87"/>
<line x="61.6" y="114"/>
<line x="90.9" y="114"/>
<curve x1="95" x2="98.8" x3="100.9" y1="114" y2="111.8" y3="108.3"/>
<line x="127.2" y="62.8"/>
<curve x1="127.5" x2="127.8" x3="128" y1="62" y2="61.2" y3="60.4"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#ffffff"/>
<rect h="8.0" w="30.0" x="49.51" y="67.97"/>
<fillstroke/>
<rect h="8.0" w="30.0" x="49.51" y="52.97"/>
<fillstroke/>
<rect h="8.0" w="30.0" x="49.51" y="37.97"/>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#FFFFFF"/>
<rect h="8" w="30" x="49.6" y="68"/>
<fill/>
<rect h="8" w="30" x="49.6" y="53"/>
<fill/>
<rect h="8" w="30" x="49.6" y="38"/>
<fill/>
<path>
<move x="81.51" y="34.97"/>
<line x="86.51" y="34.97"/>
<line x="86.51" y="78.97"/>
<line x="81.51" y="78.97"/>
<line x="81.51" y="86.97"/>
<line x="86.51" y="86.97"/>
<line x="94.51" y="86.97"/>
<line x="94.51" y="78.97"/>
<line x="94.51" y="34.97"/>
<line x="94.51" y="26.97"/>
<line x="86.51" y="26.97"/>
<line x="81.51" y="26.97"/>
<move x="86.6" y="27"/>
<line x="81.6" y="27"/>
<line x="81.6" y="35"/>
<line x="86.6" y="35"/>
<line x="86.6" y="79"/>
<line x="81.6" y="79"/>
<line x="81.6" y="87"/>
<line x="86.6" y="87"/>
<line x="94.6" y="87"/>
<line x="94.6" y="79"/>
<line x="94.6" y="35"/>
<line x="94.6" y="27"/>
<close/>
<move x="34.6" y="27"/>
<line x="34.6" y="35"/>
<line x="34.6" y="79"/>
<line x="34.6" y="87"/>
<line x="42.6" y="87"/>
<line x="47.6" y="87"/>
<line x="47.6" y="79"/>
<line x="42.6" y="79"/>
<line x="42.6" y="35"/>
<line x="47.6" y="35"/>
<line x="47.6" y="27"/>
<line x="42.6" y="27"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="34.51" y="78.97"/>
<line x="34.51" y="86.97"/>
<line x="42.51" y="86.97"/>
<line x="47.51" y="86.97"/>
<line x="47.51" y="78.97"/>
<line x="42.51" y="78.97"/>
<line x="42.51" y="34.97"/>
<line x="47.51" y="34.97"/>
<line x="47.51" y="26.97"/>
<line x="42.51" y="26.97"/>
<line x="34.51" y="26.97"/>
<line x="34.51" y="34.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Speech API" strokewidth="inherit" w="129.03">
@ -302,11 +403,11 @@
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<line x="100.72" y="108.18"/>
@ -316,6 +417,7 @@
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
@ -336,49 +438,50 @@
<line x="94.51" y="40.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#FFFFFF"/>
<rect h="32.0" w="8.0" x="34.51" y="40.97"/>
<fillstroke/>
<rect h="32.0" w="8.0" x="86.51" y="40.97"/>
<fillstroke/>
<rect h="46.0" w="8.0" x="60.51" y="33.97"/>
<fillstroke/>
<rect h="24.0" w="8.0" x="47.51" y="44.97"/>
<fillstroke/>
<rect h="16.0" w="8.0" x="73.51" y="48.97"/>
<fillstroke/>
<rect h="32" w="8" x="34.51" y="40.97"/>
<fill/>
<rect h="32" w="8" x="86.51" y="40.97"/>
<fill/>
<rect h="46" w="8" x="60.51" y="33.97"/>
<fill/>
<rect h="24" w="8" x="47.51" y="44.97"/>
<fill/>
<rect h="16" w="8" x="73.51" y="48.97"/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.63" name="Translation API" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Translation API" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="123.37" y="72.82"/>
<line x="92.99" y="42.44"/>
<move x="92.99" y="42.44"/>
<line x="88.43" y="44.55"/>
<line x="81.15" y="62.52"/>
<line x="77.11" y="58.48"/>
@ -390,15 +493,18 @@
<line x="25.34" y="48.76"/>
<line x="38.47" y="61.88"/>
<line x="27.32" y="72.87"/>
<line x="69.08" y="114.63"/>
<line x="98.08" y="114.25"/>
<line x="68.38" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="121.96" y="71.41"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="88.26" y="42.39"/>
<line x="93.03" y="42.39"/>
@ -408,45 +514,37 @@
<line x="84.23" y="64.24"/>
<line x="80.84" y="73.59"/>
<line x="76.51" y="73.59"/>
<line x="88.26" y="42.39"/>
<close/>
<move x="95.27" y="60.8"/>
<line x="90.46" y="47.02"/>
<line x="85.47" y="60.8"/>
<line x="95.27" y="60.8"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="51.07" y="50.97"/>
<line x="46.56" y="50.97"/>
<curve x1="46.1" x2="45.62" x3="45.11" y1="51.97" y2="52.92" y3="53.84"/>
<curve x1="44.08" x2="42.96" x3="41.75" y1="55.69" y2="57.24" y3="58.63"/>
<curve x1="40.48" x2="39.29" x3="38.18" y1="57.13" y2="55.56" y3="53.7"/>
<curve x1="37.66" x2="37.18" x3="36.74" y1="52.82" y2="51.97" y3="50.97"/>
<quad x1="45.88" x2="45.11" y1="52.47" y2="53.84"/>
<arc large-arc-flag="0" rx="28.02" ry="28.02" sweep-flag="1" x="41.75" x-axis-rotation="0" y="58.63"/>
<arc large-arc-flag="0" rx="36.62" ry="36.62" sweep-flag="1" x="38.18" x-axis-rotation="0" y="53.7"/>
<arc large-arc-flag="0" rx="24.78" ry="24.78" sweep-flag="1" x="36.74" x-axis-rotation="0" y="50.97"/>
<line x="32.32" y="50.97"/>
<curve x1="32.93" x2="33.62" x3="34.38" y1="51.97" y2="53.8" y3="55.14"/>
<curve x1="35.73" x2="37.19" x3="38.78" y1="57.49" y2="59.57" y3="61.52"/>
<curve x1="37.09" x2="35.12" x3="32.88" y1="63.03" y2="64.42" y3="65.78"/>
<curve x1="30.64" x2="27.97" x3="24.88" y1="67.14" y2="68.3" y3="69.31"/>
<arc large-arc-flag="0" rx="47.61" ry="47.61" sweep-flag="0" x="38.78" x-axis-rotation="0" y="61.52"/>
<arc large-arc-flag="0" rx="39.92" ry="39.92" sweep-flag="1" x="32.88" x-axis-rotation="0" y="65.78"/>
<arc large-arc-flag="0" rx="38.13" ry="38.13" sweep-flag="1" x="24.88" x-axis-rotation="0" y="69.31"/>
<line x="27.14" y="73.06"/>
<curve x1="29.99" x2="32.63" x3="35.08" y1="71.98" y2="70.7" y3="69.23"/>
<curve x1="37.52" x2="39.71" x3="41.67" y1="67.77" y2="66.19" y3="64.5"/>
<curve x1="42.59" x2="43.62" x3="44.76" y1="65.34" y2="66.16" y3="66.93"/>
<curve x1="45.89" x2="47.08" x3="48.34" y1="67.71" y2="68.46" y3="69.17"/>
<curve x1="49.59" x2="50.87" x3="52.18" y1="69.88" y2="70.54" y3="71.15"/>
<curve x1="53.49" x2="54.79" x3="56.08" y1="71.76" y2="72.28" y3="72.73"/>
<arc large-arc-flag="0" rx="49.67" ry="49.67" sweep-flag="0" x="35.07" x-axis-rotation="0" y="69.24"/>
<arc large-arc-flag="0" rx="46.99" ry="46.99" sweep-flag="0" x="41.67" x-axis-rotation="0" y="64.5"/>
<arc large-arc-flag="0" rx="28.05" ry="28.05" sweep-flag="0" x="44.75" x-axis-rotation="0" y="66.94"/>
<quad x1="46.46" x2="48.34" y1="68.11" y2="69.17"/>
<quad x1="50.22" x2="52.18" y1="70.24" y2="71.15"/>
<arc large-arc-flag="0" rx="41.81" ry="41.81" sweep-flag="0" x="56.08" x-axis-rotation="0" y="72.73"/>
<line x="58.3" y="68.69"/>
<curve x1="57.21" x2="56.08" x3="54.89" y1="68.35" y2="67.95" y3="67.49"/>
<curve x1="53.7" x2="52.52" x3="51.33" y1="67.02" y2="66.5" y3="65.9"/>
<curve x1="50.14" x2="48.97" x3="47.82" y1="65.31" y2="64.65" y3="63.92"/>
<curve x1="46.68" x2="45.61" x3="44.64" y1="63.2" y2="62.4" y3="61.53"/>
<curve x1="46.3" x2="47.78" x3="49.07" y1="59.63" y2="57.63" y3="55.24"/>
<quad x1="56.67" x2="54.89" y1="68.18" y2="67.48"/>
<quad x1="53.11" x2="51.33" y1="66.79" y2="65.9"/>
<quad x1="49.55" x2="47.82" y1="65.01" y2="63.92"/>
<arc large-arc-flag="0" rx="24.23" ry="24.23" sweep-flag="1" x="44.64" x-axis-rotation="0" y="61.53"/>
<arc large-arc-flag="0" rx="33.83" ry="33.83" sweep-flag="0" x="49.07" x-axis-rotation="0" y="55.24"/>
<curve x1="49.81" x2="50.48" x3="51.07" y1="53.87" y2="51.97" y3="50.97"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="77.3" y="58.46"/>
<line x="70.17" y="54.35"/>
<line x="70.17" y="57.56"/>
@ -454,10 +552,8 @@
<line x="56.25" y="59.62"/>
<line x="70.17" y="59.62"/>
<line x="70.17" y="62.58"/>
<line x="77.3" y="58.46"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="43.4" y="45.18"/>
<line x="43.4" y="38.99"/>
<line x="39.23" y="38.99"/>
@ -466,9 +562,10 @@
<line x="25.3" y="48.79"/>
<line x="57.79" y="48.79"/>
<line x="57.79" y="45.18"/>
<line x="43.4" y="45.18"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Vision API" strokewidth="inherit" w="129.03">
@ -478,11 +575,11 @@
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<line x="100.72" y="108.18"/>
@ -492,6 +589,7 @@
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
@ -506,10 +604,11 @@
<line x="94.51" y="56.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#FFFFFF"/>
<path>
<move x="64.51" y="34.47"/>
@ -525,9 +624,9 @@
<line x="45.76" y="56.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
<ellipse h="11.24" w="11.24" x="58.91" y="51.35"/>
<fillstroke/>
<fill/>
</foreground>
</shape>
</shapes>

View file

@ -1,45 +1,140 @@
<shapes name="mxgraph.gcp.management_tools">
<shape aspect="variable" h="114.99" name="Cloud Endpoints" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud APIs" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="119.67" y="78.56"/>
<line x="97.23" y="56.12"/>
<move x="74.5" y="33.95"/>
<line x="64.08" y="32.15"/>
<line x="54.56" y="42.66"/>
<line x="60.39" y="48.5"/>
<line x="56.42" y="53.25"/>
<line x="50.19" y="47.02"/>
<line x="38.01" y="53.97"/>
<line x="41.48" y="66.93"/>
<line x="88.48" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="118.3" y="77.75"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="79.32" y="56.97"/>
<line x="64.51" y="71.78"/>
<line x="49.71" y="56.97"/>
<line x="64.51" y="42.16"/>
<close/>
<move x="64.51" y="66.56"/>
<line x="74.11" y="56.97"/>
<line x="64.51" y="47.37"/>
<line x="54.92" y="56.97"/>
<close/>
<move x="78.8" y="66.93"/>
<line x="87.55" y="66.93"/>
<line x="97.51" y="56.97"/>
<line x="87.55" y="47"/>
<line x="78.8" y="47"/>
<line x="88.76" y="56.97"/>
<line x="78.8" y="66.93"/>
<close/>
<move x="54.55" y="71.25"/>
<line x="54.55" y="80"/>
<line x="64.52" y="89.97"/>
<line x="74.48" y="80"/>
<line x="74.48" y="71.25"/>
<line x="64.52" y="81.22"/>
<line x="54.55" y="71.25"/>
<close/>
<move x="64.51" y="23.97"/>
<line x="54.55" y="33.93"/>
<line x="54.55" y="42.68"/>
<line x="64.51" y="32.72"/>
<line x="74.48" y="42.68"/>
<line x="74.48" y="33.93"/>
<line x="64.51" y="23.97"/>
<close/>
<move x="50.23" y="47"/>
<line x="41.48" y="47"/>
<line x="31.51" y="56.97"/>
<line x="41.48" y="66.93"/>
<line x="50.23" y="66.93"/>
<line x="40.26" y="56.97"/>
<line x="50.23" y="47"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Cloud Endpoints" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="97.23" y="56.12"/>
<line x="85.01" y="62.4"/>
<line x="79.54" y="56.93"/>
<line x="58.09" y="56.33"/>
<line x="48.09" y="46.33"/>
<line x="35.64" y="56.97"/>
<line x="44.09" y="70.17"/>
<line x="88.91" y="114.99"/>
<line x="98.08" y="114.25"/>
<line x="87.85" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="118.5" y="77.39"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="79.56" y="56.95"/>
<line x="76.7" y="54.09"/>
@ -49,43 +144,38 @@
<line x="52.34" y="59.81"/>
<line x="76.7" y="59.81"/>
<line x="76.7" y="59.81"/>
<line x="79.56" y="56.95"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="48.09" y="66.06"/>
<line x="38.99" y="56.96"/>
<line x="48.09" y="47.87"/>
<curve x1="48.51" x2="48.51" x3="48.09" y1="47.45" y2="46.76" y3="46.33"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="48.09" x-axis-rotation="0" y="46.33"/>
<line x="45.57" y="43.82"/>
<curve x1="45.15" x2="44.46" x3="44.03" y1="43.4" y2="43.4" y3="43.82"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="44.03" x-axis-rotation="0" y="43.82"/>
<line x="31.66" y="56.2"/>
<curve x1="31.24" x2="31.24" x3="31.66" y1="56.62" y2="57.31" y3="57.74"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="31.66" x-axis-rotation="0" y="57.74"/>
<line x="34.17" y="60.25"/>
<curve x1="34.17" x2="34.18" x3="34.18" y1="60.25" y2="60.25" y3="60.26"/>
<line x="34.18" y="60.26"/>
<line x="44.04" y="70.11"/>
<curve x1="44.47" x2="45.16" x3="45.58" y1="70.54" y2="70.54" y3="70.11"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="45.58" x-axis-rotation="0" y="70.11"/>
<line x="48.09" y="67.6"/>
<curve x1="48.51" x2="48.51" x3="48.09" y1="67.18" y2="66.49" y3="66.06"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="48.09" x-axis-rotation="0" y="66.06"/>
<move x="80.94" y="47.87"/>
<line x="90.04" y="56.97"/>
<line x="80.94" y="66.06"/>
<curve x1="80.52" x2="80.52" x3="80.94" y1="66.48" y2="67.18" y3="67.6"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="80.94" x-axis-rotation="0" y="67.6"/>
<line x="83.46" y="70.11"/>
<curve x1="83.88" x2="84.57" x3="85" y1="70.54" y2="70.54" y3="70.11"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="85" x-axis-rotation="0" y="70.11"/>
<line x="97.37" y="57.74"/>
<curve x1="97.79" x2="97.79" x3="97.37" y1="57.32" y2="56.62" y3="56.2"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="97.37" x-axis-rotation="0" y="56.2"/>
<line x="94.86" y="53.69"/>
<curve x1="94.85" x2="94.85" x3="94.84" y1="53.68" y2="53.68" y3="53.68"/>
<line x="94.84" y="53.68"/>
<line x="84.99" y="43.82"/>
<curve x1="84.56" x2="83.87" x3="83.45" y1="43.4" y2="43.4" y3="43.82"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="83.45" x-axis-rotation="0" y="43.82"/>
<line x="80.94" y="46.33"/>
<curve x1="80.51" x2="80.51" x3="80.94" y1="46.76" y2="47.45" y3="47.87"/>
<arc large-arc-flag="0" rx="1.09" ry="1.09" sweep-flag="0" x="80.94" x-axis-rotation="0" y="47.87"/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.14" name="Debugger" strokewidth="inherit" w="129.1">
@ -95,24 +185,25 @@
<path>
<move x="28.4" y="108.24"/>
<line x="2.1" y="62.84"/>
<arc large-arc-flag="0.0" rx="11.28" ry="11.28" sweep-flag="1.0" x="2.1" x-axis-rotation="0.0" y="51.34"/>
<arc large-arc-flag="0" rx="11.28" ry="11.28" sweep-flag="1" x="2.1" x-axis-rotation="0" y="51.34"/>
<line x="28.3" y="5.84"/>
<arc large-arc-flag="0.0" rx="11.35" ry="11.35" sweep-flag="1.0" x="38.3" x-axis-rotation="0.0" y="0.04"/>
<arc large-arc-flag="0" rx="11.35" ry="11.35" sweep-flag="1" x="38.3" x-axis-rotation="0" y="0.04"/>
<line x="90.8" y="0.04"/>
<arc large-arc-flag="0.0" rx="11.59" ry="11.59" sweep-flag="1.0" x="100.8" x-axis-rotation="0.0" y="5.84"/>
<line x="127.0" y="51.34"/>
<arc large-arc-flag="0.0" rx="11.28" ry="11.28" sweep-flag="1.0" x="127.0" x-axis-rotation="0.0" y="62.84"/>
<arc large-arc-flag="0" rx="11.59" ry="11.59" sweep-flag="1" x="100.8" x-axis-rotation="0" y="5.84"/>
<line x="127" y="51.34"/>
<arc large-arc-flag="0" rx="11.28" ry="11.28" sweep-flag="1" x="127" x-axis-rotation="0" y="62.84"/>
<line x="100.8" y="108.34"/>
<arc large-arc-flag="0.0" rx="11.59" ry="11.59" sweep-flag="1.0" x="90.8" x-axis-rotation="0.0" y="114.14"/>
<arc large-arc-flag="0" rx="11.59" ry="11.59" sweep-flag="1" x="90.8" x-axis-rotation="0" y="114.14"/>
<line x="38.4" y="114.14"/>
<arc large-arc-flag="0.0" rx="12.0" ry="12.0" sweep-flag="1.0" x="28.4" x-axis-rotation="0.0" y="108.24"/>
<arc large-arc-flag="0" rx="12" ry="12" sweep-flag="1" x="28.4" x-axis-rotation="0" y="108.24"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000000029802322"/>
<alpha alpha="0.07"/>
<path>
<move x="88.0" y="33.64"/>
<move x="88" y="33.64"/>
<line x="76.4" y="36.44"/>
<line x="68.4" y="28.44"/>
<line x="61.8" y="41.84"/>
@ -120,20 +211,21 @@
<line x="41.2" y="46.54"/>
<line x="51.7" y="57.04"/>
<line x="48.6" y="61.24"/>
<line x="62.0" y="74.64"/>
<line x="62" y="74.64"/>
<line x="61.7" y="82.24"/>
<line x="47.6" y="68.14"/>
<line x="41.1" y="80.94"/>
<line x="74.3" y="114.14"/>
<line x="90.8" y="114.14"/>
<arc large-arc-flag="0.0" rx="11.59" ry="11.59" sweep-flag="0.0" x="100.8" x-axis-rotation="0.0" y="108.34"/>
<arc large-arc-flag="0" rx="11.59" ry="11.59" sweep-flag="0" x="100.8" x-axis-rotation="0" y="108.34"/>
<line x="123.4" y="69.14"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="41.1" y="46.34"/>
@ -144,36 +236,24 @@
<line x="41.1" y="33.74"/>
<line x="41.1" y="46.34"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="60.8" y="52.94"/>
<line x="80.2" y="52.94"/>
<line x="60.8" y="85.84"/>
<line x="60.8" y="52.94"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="68.3" y="61.24"/>
<line x="48.6" y="61.24"/>
<line x="68.3" y="28.34"/>
<line x="68.3" y="61.24"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="88.0" y="33.74"/>
<move x="88" y="33.74"/>
<line x="75.4" y="33.74"/>
<line x="75.4" y="40.24"/>
<line x="81.5" y="40.24"/>
<line x="81.5" y="46.34"/>
<line x="88.0" y="46.34"/>
<line x="88.0" y="33.74"/>
<line x="88" y="46.34"/>
<line x="88" y="33.74"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="41.1" y="80.74"/>
<line x="53.7" y="80.74"/>
<line x="53.7" y="74.14"/>
@ -182,115 +262,109 @@
<line x="41.1" y="68.14"/>
<line x="41.1" y="80.74"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="88.0" y="68.14"/>
<move x="88" y="68.14"/>
<line x="81.5" y="68.14"/>
<line x="81.5" y="74.14"/>
<line x="75.4" y="74.14"/>
<line x="75.4" y="80.74"/>
<line x="88.0" y="80.74"/>
<line x="88.0" y="68.14"/>
<line x="88" y="80.74"/>
<line x="88" y="68.14"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="117.79" name="Deployment Manager" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Deployment Manager" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="126.8" y="67.62"/>
<line x="97.11" y="37.94"/>
<move x="97.11" y="37.94"/>
<line x="49.83" y="46.84"/>
<line x="31.42" y="62.23"/>
<line x="37.38" y="68.19"/>
<line x="37.38" y="68.18"/>
<line x="31.92" y="73.16"/>
<line x="76.56" y="117.79"/>
<line x="98.18" y="117.76"/>
<line x="72.69" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="125.11" y="65.94"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="74.72" y="82.27"/>
<line x="54.56" y="82.27"/>
<curve x1="54.01" x2="53.56" x3="53.56" y1="82.27" y2="81.82" y3="81.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="53.56" x-axis-rotation="0" y="81.27"/>
<line x="53.56" y="81.24"/>
<curve x1="53.56" x2="54.01" x3="54.56" y1="80.69" y2="80.24" y3="80.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="54.56" x-axis-rotation="0" y="80.24"/>
<line x="74.72" y="80.24"/>
<curve x1="75.27" x2="75.72" x3="75.72" y1="80.24" y2="80.69" y3="81.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="75.72" x-axis-rotation="0" y="81.24"/>
<line x="75.72" y="81.27"/>
<curve x1="75.72" x2="75.27" x3="74.72" y1="81.82" y2="82.27" y3="82.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="74.72" x-axis-rotation="0" y="82.27"/>
<close/>
</path>
<fillstroke/>
<fill/>
<rect h="8.78" w="7.74" x="60.77" y="72.47"/>
<fillstroke/>
<fill/>
<path>
<move x="86.18" y="65.94"/>
<curve x1="85.68" x2="85.2" x3="84.85" y1="65.94" y2="65.73" y3="65.37"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="84.85" x-axis-rotation="0" y="65.37"/>
<line x="71.26" y="51.3"/>
<line x="62.13" y="60.9"/>
<curve x1="61.47" x2="60.38" x3="59.63" y1="61.6" y2="61.67" y3="61.06"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="1" x="59.63" x-axis-rotation="0" y="61.06"/>
<line x="52.74" y="55.49"/>
<line x="45.42" y="65.2"/>
<curve x1="45.07" x2="44.53" x3="43.95" y1="65.66" y2="65.94" y3="65.94"/>
<line x="31.41" y="65.94"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="43.95" x-axis-rotation="0" y="65.93"/>
<line x="31.41" y="65.93"/>
<line x="31.41" y="71.63"/>
<curve x1="31.41" x2="32.52" x3="33.87" y1="72.98" y2="74.09" y3="74.09"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="33.87" x-axis-rotation="0" y="74.09"/>
<line x="95.41" y="74.09"/>
<curve x1="96.76" x2="97.87" x3="97.87" y1="74.09" y2="72.98" y3="71.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="97.87" x-axis-rotation="0" y="71.63"/>
<line x="97.87" y="65.94"/>
<line x="86.18" y="65.94"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="43.03" y="62.24"/>
<line x="50.94" y="51.75"/>
<curve x1="51.24" x2="51.69" x3="52.18" y1="51.35" y2="51.09" y3="51.03"/>
<curve x1="52.68" x2="53.18" x3="53.57" y1="50.97" y2="51.11" y3="51.42"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="53.57" x-axis-rotation="0" y="51.42"/>
<line x="60.63" y="57.12"/>
<line x="69.92" y="47.36"/>
<curve x1="70.26" x2="70.74" x3="71.25" y1="46.99" y2="46.78" y3="46.78"/>
<curve x1="71.25" x2="71.25" x3="71.26" y1="46.78" y2="46.78" y3="46.78"/>
<curve x1="71.76" x2="72.24" x3="72.58" y1="46.78" y2="46.99" y3="47.35"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="71.25" x-axis-rotation="0" y="46.78"/>
<line x="71.26" y="46.78"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="72.58" x-axis-rotation="0" y="47.35"/>
<line x="86.96" y="62.24"/>
<line x="97.87" y="62.24"/>
<line x="97.87" y="39.63"/>
<curve x1="97.87" x2="96.76" x3="95.41" y1="38.28" y2="37.17" y3="37.17"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="95.41" x-axis-rotation="0" y="37.17"/>
<line x="33.87" y="37.17"/>
<curve x1="32.52" x2="31.41" x3="31.41" y1="37.17" y2="38.28" y3="39.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="31.41" x-axis-rotation="0" y="39.63"/>
<line x="31.41" y="62.24"/>
<line x="43.03" y="62.24"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.01" name="Error Reporting" strokewidth="inherit" w="129.07">
@ -300,22 +374,23 @@
<path>
<move x="28.3" y="108.23"/>
<line x="2.05" y="62.76"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.26"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.26"/>
<line x="28.3" y="5.79"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.01"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0.01"/>
<line x="90.76" y="0.01"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.76" x-axis-rotation="0.0" y="5.76"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.76" x-axis-rotation="0" y="5.76"/>
<line x="127.01" y="51.23"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="127.01" x-axis-rotation="0.0" y="62.73"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="127.01" x-axis-rotation="0" y="62.73"/>
<line x="100.76" y="108.2"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.95"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.95"/>
<line x="38.26" y="113.95"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.26" x-axis-rotation="0.0" y="108.2"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.26" x-axis-rotation="0" y="108.2"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000000029802322"/>
<alpha alpha="0.07"/>
<path>
<move x="100.68" y="108.01"/>
<line x="122.68" y="70.17"/>
@ -333,13 +408,14 @@
<line x="49.51" y="87.01"/>
<line x="76.51" y="114.01"/>
<line x="90.81" y="114.01"/>
<arc large-arc-flag="0.0" rx="11.74" ry="11.74" sweep-flag="0.0" x="100.68" x-axis-rotation="0.0" y="108.01"/>
<arc large-arc-flag="0" rx="11.74" ry="11.74" sweep-flag="0" x="100.68" x-axis-rotation="0" y="108.01"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="53.26" y="79.01"/>
@ -355,9 +431,6 @@
<line x="64.51" y="87.01"/>
<line x="57.01" y="79.01"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="79.51" y="27.01"/>
<line x="72.01" y="27.01"/>
<line x="64.51" y="35.01"/>
@ -372,9 +445,6 @@
<line x="94.51" y="42.01"/>
<line x="79.51" y="27.01"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="64.51" y="72.01"/>
<line x="57.01" y="64.51"/>
<line x="64.51" y="57.01"/>
@ -385,9 +455,6 @@
<line x="49.51" y="64.51"/>
<line x="57.01" y="72.01"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="72.01" y="42.01"/>
<line x="64.51" y="49.51"/>
<line x="72.02" y="57.02"/>
@ -398,166 +465,165 @@
<line x="72.01" y="42.01"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.0" name="Logging" strokewidth="inherit" w="129.0">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.2"/>
<line x="2.0" y="62.7"/>
<curve x1="0.0" x2="0.0" x3="2.0" y1="59.2" y2="54.8" y3="51.3"/>
<line x="28.3" y="5.8"/>
<curve x1="30.3" x2="34.1" x3="38.2" y1="2.2" y2="0.0" y3="0.0"/>
<line x="90.8" y="0.0"/>
<curve x1="94.9" x2="98.7" x3="100.7" y1="0.0" y2="2.2" y3="5.8"/>
<line x="127.0" y="51.3"/>
<curve x1="129.0" x2="129.0" x3="127.0" y1="54.8" y2="59.2" y3="62.7"/>
<line x="100.7" y="108.2"/>
<curve x1="98.7" x2="94.9" x3="90.8" y1="111.8" y2="114.0" y3="114.0"/>
<line x="38.2" y="114.0"/>
<curve x1="34.1" x2="30.3" x3="28.3" y1="114.0" y2="111.8" y3="108.2"/>
<line x="28.3" y="108.2"/>
<close/>
</path>
<fillstroke/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="94.5" y="31.0"/>
<line x="76.9" y="39.0"/>
<line x="60.5" y="39.0"/>
<line x="49.5" y="28.0"/>
<line x="42.7" y="39.0"/>
<line x="42.5" y="39.0"/>
<line x="34.5" y="43.0"/>
<line x="42.2" y="50.7"/>
<line x="40.5" y="82.0"/>
<line x="72.5" y="114.0"/>
<line x="90.8" y="114.0"/>
<curve x1="94.9" x2="98.7" x3="100.7" y1="114.0" y2="111.8" y3="108.2"/>
<line x="126.7" y="63.2"/>
<line x="94.5" y="31.0"/>
<line x="94.5" y="31.0"/>
<close/>
</path>
<fillstroke/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFF"/>
<rect h="11.0" w="37.0" x="57.5" y="31.0"/>
<fillstroke/>
<rect h="3.0" w="16.0" x="42.5" y="57.0"/>
<fillstroke/>
<rect h="11.0" w="37.0" x="57.5" y="53.0"/>
<fillstroke/>
<rect h="3.0" w="16.0" x="42.5" y="79.0"/>
<fillstroke/>
<rect h="39.0" w="3.0" x="40.5" y="43.0"/>
<fillstroke/>
<rect h="15.0" w="15.0" x="34.5" y="28.0"/>
<fillstroke/>
<rect h="11.0" w="37.0" x="57.5" y="75.0"/>
<fillstroke/>
</foreground>
</shape>
<shape aspect="variable" h="117.79" name="Monitoring" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Logging" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<curve x1="30.36" x2="34.15" x3="38.26" y1="2.19" y2="0" y3="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<curve x1="34.15" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<line x="28.3" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="126.8" y="67.62"/>
<line x="97.11" y="37.94"/>
<line x="49.83" y="46.84"/>
<line x="31.42" y="62.23"/>
<line x="37.38" y="68.19"/>
<line x="31.92" y="73.16"/>
<line x="76.56" y="117.79"/>
<line x="98.18" y="117.76"/>
<move x="94.51" y="30.97"/>
<line x="76.91" y="38.97"/>
<line x="60.51" y="38.97"/>
<line x="49.51" y="27.97"/>
<line x="42.74" y="38.97"/>
<line x="42.51" y="38.97"/>
<line x="34.51" y="42.97"/>
<line x="42.16" y="50.62"/>
<line x="40.51" y="81.97"/>
<line x="72.48" y="113.93"/>
<line x="90.76" y="113.93"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="113.93" y2="111.74" y3="108.18"/>
<line x="126.71" y="63.17"/>
<line x="94.51" y="30.97"/>
<line x="94.51" y="30.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#FFFFFF"/>
<rect h="11" w="37" x="57.51" y="30.97"/>
<fill/>
<rect h="3" w="16" x="42.51" y="56.97"/>
<fill/>
<rect h="11" w="37" x="57.51" y="52.97"/>
<fill/>
<rect h="3" w="16" x="42.51" y="78.97"/>
<fill/>
<rect h="39" w="3" x="40.51" y="42.97"/>
<fill/>
<rect h="15" w="15" x="34.51" y="27.97"/>
<fill/>
<rect h="11" w="37" x="57.51" y="74.97"/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Monitoring" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="97.11" y="37.94"/>
<line x="49.83" y="46.84"/>
<line x="31.42" y="62.23"/>
<line x="37.38" y="68.18"/>
<line x="31.92" y="73.16"/>
<line x="72.69" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="125.11" y="65.94"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="74.72" y="82.27"/>
<line x="54.56" y="82.27"/>
<curve x1="54.01" x2="53.56" x3="53.56" y1="82.27" y2="81.82" y3="81.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="53.56" x-axis-rotation="0" y="81.27"/>
<line x="53.56" y="81.24"/>
<curve x1="53.56" x2="54.01" x3="54.56" y1="80.69" y2="80.24" y3="80.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="54.56" x-axis-rotation="0" y="80.24"/>
<line x="74.72" y="80.24"/>
<curve x1="75.27" x2="75.72" x3="75.72" y1="80.24" y2="80.69" y3="81.24"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="75.72" x-axis-rotation="0" y="81.24"/>
<line x="75.72" y="81.27"/>
<curve x1="75.72" x2="75.27" x3="74.72" y1="81.82" y2="82.27" y3="82.27"/>
<arc large-arc-flag="0" rx="1" ry="1" sweep-flag="1" x="74.72" x-axis-rotation="0" y="82.27"/>
<close/>
</path>
<fillstroke/>
<fill/>
<rect h="8.78" w="7.74" x="60.77" y="72.47"/>
<fillstroke/>
<fill/>
<path>
<move x="86.18" y="65.94"/>
<curve x1="85.68" x2="85.2" x3="84.85" y1="65.94" y2="65.73" y3="65.37"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="84.85" x-axis-rotation="0" y="65.37"/>
<line x="71.26" y="51.3"/>
<line x="62.13" y="60.9"/>
<curve x1="61.47" x2="60.38" x3="59.63" y1="61.6" y2="61.67" y3="61.06"/>
<arc large-arc-flag="0" rx="1.84" ry="1.84" sweep-flag="1" x="59.63" x-axis-rotation="0" y="61.06"/>
<line x="52.74" y="55.49"/>
<line x="45.42" y="65.2"/>
<curve x1="45.07" x2="44.53" x3="43.95" y1="65.66" y2="65.94" y3="65.94"/>
<line x="31.41" y="65.94"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="43.95" x-axis-rotation="0" y="65.93"/>
<line x="31.41" y="65.93"/>
<line x="31.41" y="71.63"/>
<curve x1="31.41" x2="32.52" x3="33.87" y1="72.98" y2="74.09" y3="74.09"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="33.87" x-axis-rotation="0" y="74.09"/>
<line x="95.41" y="74.09"/>
<curve x1="96.76" x2="97.87" x3="97.87" y1="74.09" y2="72.98" y3="71.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="97.87" x-axis-rotation="0" y="71.63"/>
<line x="97.87" y="65.94"/>
<line x="86.18" y="65.94"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="43.03" y="62.24"/>
<line x="50.94" y="51.75"/>
<curve x1="51.24" x2="51.69" x3="52.18" y1="51.35" y2="51.09" y3="51.03"/>
<curve x1="52.68" x2="53.18" x3="53.57" y1="50.97" y2="51.11" y3="51.42"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="53.57" x-axis-rotation="0" y="51.42"/>
<line x="60.63" y="57.12"/>
<line x="69.92" y="47.36"/>
<curve x1="70.26" x2="70.74" x3="71.25" y1="46.99" y2="46.78" y3="46.78"/>
<curve x1="71.25" x2="71.25" x3="71.26" y1="46.78" y2="46.78" y3="46.78"/>
<curve x1="71.76" x2="72.24" x3="72.58" y1="46.78" y2="46.99" y3="47.35"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="71.25" x-axis-rotation="0" y="46.78"/>
<line x="71.26" y="46.78"/>
<arc large-arc-flag="0" rx="1.85" ry="1.85" sweep-flag="1" x="72.58" x-axis-rotation="0" y="47.35"/>
<line x="86.96" y="62.24"/>
<line x="97.87" y="62.24"/>
<line x="97.87" y="39.63"/>
<curve x1="97.87" x2="96.76" x3="95.41" y1="38.28" y2="37.17" y3="37.17"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="95.41" x-axis-rotation="0" y="37.17"/>
<line x="33.87" y="37.17"/>
<curve x1="32.52" x2="31.41" x3="31.41" y1="37.17" y2="38.28" y3="39.63"/>
<arc large-arc-flag="0" rx="2.47" ry="2.47" sweep-flag="0" x="31.41" x-axis-rotation="0" y="39.63"/>
<line x="31.41" y="62.24"/>
<line x="43.03" y="62.24"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Stackdriver" strokewidth="inherit" w="129.03">
@ -567,20 +633,21 @@
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.0"/>
<line x="90.76" y="0.0"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.72" x-axis-rotation="0.0" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="126.97" x-axis-rotation="0.0" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.3" x-axis-rotation="0.0" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07000002"/>
<path>
@ -598,40 +665,41 @@
<line x="80.2" y="34.4"/>
<line x="80.66" y="32.91"/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#dae7fc"/>
<path>
<move x="94.51" y="57.0"/>
<move x="94.51" y="57"/>
<line x="80.66" y="32.91"/>
<line x="66.81" y="57.0"/>
<line x="66.81" y="57"/>
<line x="80.66" y="81.09"/>
<line x="94.51" y="57.0"/>
<line x="94.51" y="57"/>
<close/>
</path>
<fillstroke/>
<fill/>
<fillcolor color="#b6cff8"/>
<path>
<move x="34.51" y="59.0"/>
<line x="48.32" y="83.0"/>
<line x="75.99" y="83.0"/>
<line x="62.19" y="59.0"/>
<line x="34.51" y="59.0"/>
<move x="34.51" y="59"/>
<line x="48.32" y="83"/>
<line x="75.99" y="83"/>
<line x="62.19" y="59"/>
<line x="34.51" y="59"/>
<close/>
</path>
<fillstroke/>
<fill/>
<fillcolor color="#fff"/>
<path>
<move x="62.01" y="55.0"/>
<line x="76.04" y="31.0"/>
<line x="48.36" y="31.0"/>
<line x="34.51" y="55.0"/>
<line x="62.01" y="55.0"/>
<move x="62.01" y="55"/>
<line x="76.04" y="31"/>
<line x="48.36" y="31"/>
<line x="34.51" y="55"/>
<line x="62.01" y="55"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Trace" strokewidth="inherit" w="129.16">
@ -641,11 +709,11 @@
<path>
<move x="127.05" y="51.14"/>
<line x="100.75" y="5.82"/>
<curve x1="98.64" x2="94.82" x3="90.89" y1="2.21" y2="0.0" y3="0.0"/>
<line x="38.28" y="0.0"/>
<curve x1="34.06" x2="30.38" x3="28.41" y1="0.0" y2="2.45" y3="5.82"/>
<curve x1="98.64" x2="94.82" x3="90.89" y1="2.21" y2="0" y3="0"/>
<line x="38.28" y="0"/>
<curve x1="34.06" x2="30.38" x3="28.41" y1="0" y2="2.45" y3="5.82"/>
<line x="2.11" y="51.05"/>
<curve x1="0.0" x2="0.14" x3="2.1" y1="54.67" y2="59.0" y3="62.38"/>
<curve x1="0" x2="0.14" x3="2.1" y1="54.67" y2="59" y3="62.38"/>
<line x="28.41" y="107.9"/>
<curve x1="30.52" x2="34.34" x3="38.27" y1="111.52" y2="113.93" y3="113.93"/>
<line x="90.88" y="113.93"/>
@ -655,6 +723,7 @@
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
@ -675,17 +744,18 @@
<line x="94.58" y="50.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#FFFFFF"/>
<rect h="12.0" w="60.0" x="34.58" y="50.97"/>
<fillstroke/>
<rect h="12.0" w="41.0" x="53.58" y="74.97"/>
<fillstroke/>
<rect h="12.0" w="19.0" x="34.58" y="26.97"/>
<fillstroke/>
<rect h="12" w="60" x="34.58" y="50.97"/>
<fill/>
<rect h="12" w="41" x="53.58" y="74.97"/>
<fill/>
<rect h="12" w="19" x="34.58" y="26.97"/>
<fill/>
</foreground>
</shape>
</shapes>

File diff suppressed because it is too large Load diff

View file

@ -40,9 +40,9 @@
<line x="24.19" y="6.02"/>
<line x="11.64" y="6.02"/>
<close/>
<move x="0.0" y="24.01"/>
<line x="0.0" y="0.0"/>
<line x="121.9" y="0.0"/>
<move x="0" y="24.01"/>
<line x="0" y="0"/>
<line x="121.9" y="0"/>
<line x="121.9" y="24.01"/>
<close/>
<move x="11.64" y="55.6"/>
@ -50,8 +50,8 @@
<line x="24.19" y="42.71"/>
<line x="11.64" y="42.71"/>
<close/>
<move x="0.0" y="61.18"/>
<line x="0.0" y="37.59"/>
<move x="0" y="61.18"/>
<line x="0" y="37.59"/>
<line x="121.9" y="37.59"/>
<line x="121.9" y="61.18"/>
<close/>
@ -60,8 +60,8 @@
<line x="24.19" y="79.44"/>
<line x="11.64" y="79.44"/>
<close/>
<move x="0.0" y="98.49"/>
<line x="0.0" y="73.77"/>
<move x="0" y="98.49"/>
<line x="0" y="73.77"/>
<line x="121.9" y="73.77"/>
<line x="121.9" y="98.49"/>
<close/>
@ -91,11 +91,11 @@
<line x="19.32" y="26.7"/>
<close/>
<move x="11.92" y="123.25"/>
<curve x1="5.49" x2="0.0" x3="0.0" y1="123.25" y2="116.63" y3="109.42"/>
<line x="0.0" y="11.66"/>
<curve x1="0.0" x2="7.14" x3="13.14" y1="6.98" y2="0.0" y3="0.0"/>
<line x="109.64" y="0.0"/>
<curve x1="115.46" x2="122.48" x3="122.48" y1="0.0" y2="5.16" y3="13.92"/>
<curve x1="5.49" x2="0" x3="0" y1="123.25" y2="116.63" y3="109.42"/>
<line x="0" y="11.66"/>
<curve x1="0" x2="7.14" x3="13.14" y1="6.98" y2="0" y3="0"/>
<line x="109.64" y="0"/>
<curve x1="115.46" x2="122.48" x3="122.48" y1="0" y2="5.16" y3="13.92"/>
<line x="122.48" y="111.66"/>
<curve x1="122.48" x2="116.9" x3="110.6" y1="117.33" y2="123.25" y3="123.25"/>
<close/>

View file

@ -1,30 +1,30 @@
<shapes name="mxgraph.gcp.storage_databases">
<shape aspect="variable" h="115.01" name="Cloud Bigtable" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud Bigtable" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0" x2="0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0" y3="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="125.26" y="67.55"/>
<line x="91.43" y="33.72"/>
<move x="91.43" y="33.72"/>
<line x="90.18" y="43.59"/>
<line x="83.47" y="36.87"/>
<line x="60.07" y="27.29"/>
@ -33,170 +33,146 @@
<line x="30.89" y="45.3"/>
<line x="38.06" y="52.47"/>
<line x="37.57" y="80.27"/>
<line x="72.16" y="114.86"/>
<line x="98.18" y="115.01"/>
<line x="71.23" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="124.58" y="66.86"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="84.2" y="38.62"/>
<line x="84.22" y="59.3"/>
<curve x1="84.22" x2="83.99" x3="83.6" y1="59.75" y2="60.16" y3="60.38"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="83.6" x-axis-rotation="0" y="60.38"/>
<line x="80.24" y="62.32"/>
<line x="80.23" y="40.92"/>
<curve x1="80.23" x2="79.75" x3="78.98" y1="40.03" y2="39.2" y3="38.76"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="78.98" x-axis-rotation="0" y="38.76"/>
<line x="62.29" y="29.12"/>
<curve x1="59.7" x2="58.02" x3="57.81" y1="27.63" y2="24.92" y3="21.96"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="57.81" x-axis-rotation="0" y="21.96"/>
<line x="82.95" y="36.47"/>
<curve x1="83.73" x2="84.2" x3="84.2" y1="36.91" y2="37.73" y3="38.62"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="84.2" x-axis-rotation="0" y="38.62"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="90.24" y="64.85"/>
<line x="72.35" y="75.2"/>
<curve x1="71.96" x2="71.49" x3="71.1" y1="75.42" y2="75.42" y3="75.2"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="71.1" x-axis-rotation="0" y="75.2"/>
<line x="67.74" y="73.26"/>
<line x="86.27" y="62.55"/>
<curve x1="87.04" x2="87.52" x3="87.52" y1="62.11" y2="61.28" y3="60.39"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="87.52" x-axis-rotation="0" y="60.39"/>
<line x="87.52" y="41.12"/>
<curve x1="87.52" x2="89.02" x3="91.47" y1="38.13" y2="35.32" y3="33.66"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="91.47" x-axis-rotation="0" y="33.66"/>
<line x="91.49" y="62.69"/>
<curve x1="91.49" x2="91.01" x3="90.24" y1="63.58" y2="64.4" y3="64.85"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="90.24" x-axis-rotation="0" y="64.85"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="70.56" y="83.19"/>
<line x="52.64" y="72.87"/>
<curve x1="52.25" x2="52.01" x3="52.01" y1="72.64" y2="72.23" y3="71.79"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="52.01" x-axis-rotation="0" y="71.79"/>
<line x="52.01" y="67.91"/>
<line x="70.55" y="78.6"/>
<curve x1="71.33" x2="72.28" x3="73.05" y1="79.05" y2="79.05" y3="78.6"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="73.05" x-axis-rotation="0" y="78.6"/>
<line x="89.74" y="68.96"/>
<curve x1="92.33" x2="95.51" x3="98.18" y1="67.47" y2="67.37" y3="68.66"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="98.18" x-axis-rotation="0" y="68.66"/>
<line x="73.05" y="83.19"/>
<curve x1="72.28" x2="71.33" x3="70.56" y1="83.63" y2="83.63" y3="83.19"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="70.56" x-axis-rotation="0" y="83.19"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="44.83" y="75.31"/>
<line x="44.81" y="54.63"/>
<curve x1="44.81" x2="45.04" x3="45.43" y1="54.19" y2="53.77" y3="53.55"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="45.43" x-axis-rotation="0" y="53.55"/>
<line x="48.78" y="51.61"/>
<line x="48.8" y="73.02"/>
<curve x1="48.8" x2="49.27" x3="50.04" y1="73.91" y2="74.73" y3="75.17"/>
<line x="48.8" y="73.01"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="50.04" x-axis-rotation="0" y="75.17"/>
<line x="66.74" y="84.81"/>
<curve x1="69.33" x2="71.01" x3="71.22" y1="86.31" y2="89.01" y3="91.97"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="71.22" x-axis-rotation="0" y="91.97"/>
<line x="46.07" y="77.47"/>
<curve x1="45.3" x2="44.83" x3="44.83" y1="77.02" y2="76.2" y3="75.31"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="44.83" x-axis-rotation="0" y="75.31"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="38.78" y="49.09"/>
<line x="56.68" y="38.73"/>
<curve x1="57.07" x2="57.54" x3="57.93" y1="38.51" y2="38.51" y3="38.73"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="57.93" x-axis-rotation="0" y="38.73"/>
<line x="61.28" y="40.67"/>
<line x="42.76" y="51.38"/>
<curve x1="41.99" x2="41.51" x3="41.51" y1="51.83" y2="52.65" y3="53.54"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="41.51" x-axis-rotation="0" y="53.54"/>
<line x="41.51" y="72.81"/>
<curve x1="41.51" x2="40.01" x3="37.55" y1="75.81" y2="78.61" y3="80.28"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="37.55" x-axis-rotation="0" y="80.28"/>
<line x="37.54" y="51.25"/>
<curve x1="37.54" x2="38.01" x3="38.78" y1="50.36" y2="49.53" y3="49.09"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="38.78" x-axis-rotation="0" y="49.09"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="58.47" y="30.74"/>
<line x="76.39" y="41.07"/>
<curve x1="76.78" x2="77.01" x3="77.01" y1="41.29" y2="41.7" y3="42.15"/>
<arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="1" x="77.01" x-axis-rotation="0" y="42.15"/>
<line x="77.01" y="46.02"/>
<line x="58.47" y="35.33"/>
<curve x1="57.7" x2="56.75" x3="55.98" y1="34.89" y2="34.89" y3="35.33"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="0" x="55.98" x-axis-rotation="0" y="35.33"/>
<line x="39.29" y="44.97"/>
<curve x1="36.7" x2="33.52" x3="30.85" y1="46.47" y2="46.57" y3="45.27"/>
<arc large-arc-flag="0" rx="9.05" ry="9.05" sweep-flag="1" x="30.85" x-axis-rotation="0" y="45.27"/>
<line x="55.98" y="30.75"/>
<curve x1="56.75" x2="57.7" x3="58.47" y1="30.3" y2="30.3" y3="30.74"/>
<arc large-arc-flag="0" rx="2.49" ry="2.49" sweep-flag="1" x="58.47" x-axis-rotation="0" y="30.74"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="64.51" y="62.27"/>
<curve x1="64.27" x2="64.03" x3="63.82" y1="62.27" y2="62.21" y3="62.09"/>
<arc large-arc-flag="0" rx="1.37" ry="1.37" sweep-flag="1" x="63.82" x-axis-rotation="0" y="62.09"/>
<line x="52" y="55.27"/>
<line x="52" y="58.24"/>
<line x="64.51" y="65.46"/>
<line x="77.01" y="58.24"/>
<line x="77.01" y="55.27"/>
<line x="65.19" y="62.09"/>
<curve x1="64.98" x2="64.74" x3="64.51" y1="62.21" y2="62.27" y3="62.27"/>
<arc large-arc-flag="0" rx="1.37" ry="1.37" sweep-flag="1" x="64.51" x-axis-rotation="0" y="62.27"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="65.19" y="68.23"/>
<curve x1="64.98" x2="64.74" x3="64.51" y1="68.35" y2="68.42" y3="68.42"/>
<curve x1="64.27" x2="64.03" x3="63.82" y1="68.42" y2="68.35" y3="68.23"/>
<arc large-arc-flag="0" rx="1.37" ry="1.37" sweep-flag="1" x="63.82" x-axis-rotation="0" y="68.23"/>
<line x="52" y="61.41"/>
<line x="52" y="63.61"/>
<curve x1="52" x2="52.26" x3="52.67" y1="64.08" y2="64.52" y3="64.76"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="52.67" x-axis-rotation="0" y="64.76"/>
<line x="63.85" y="71.21"/>
<curve x1="64.25" x2="64.76" x3="65.17" y1="71.45" y2="71.45" y3="71.21"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="65.17" x-axis-rotation="0" y="71.21"/>
<line x="76.35" y="64.76"/>
<curve x1="76.76" x2="77.01" x3="77.01" y1="64.52" y2="64.08" y3="63.61"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="77.01" x-axis-rotation="0" y="63.61"/>
<line x="77.01" y="61.41"/>
<line x="65.19" y="68.23"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="64.51" y="59.32"/>
<line x="77.01" y="52.1"/>
<line x="77.01" y="50.7"/>
<curve x1="77.01" x2="76.76" x3="76.35" y1="50.23" y2="49.79" y3="49.56"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="76.35" x-axis-rotation="0" y="49.56"/>
<line x="65.17" y="43.1"/>
<curve x1="64.76" x2="64.25" x3="63.85" y1="42.87" y2="42.87" y3="43.1"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="63.85" x-axis-rotation="0" y="43.1"/>
<line x="52.67" y="49.56"/>
<curve x1="52.26" x2="52" x3="52" y1="49.79" y2="50.23" y3="50.7"/>
<arc large-arc-flag="0" rx="1.32" ry="1.32" sweep-flag="0" x="52" x-axis-rotation="0" y="50.7"/>
<line x="52" y="52.1"/>
<line x="64.51" y="59.32"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.56" name="Cloud Datastore" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud Datastore" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="120.67" y="78.31"/>
<line x="86.03" y="43.67"/>
<move x="86.03" y="43.67"/>
<line x="76.51" y="44.42"/>
<line x="76.56" y="50.59"/>
<line x="69.57" y="43.61"/>
@ -207,148 +183,228 @@
<line x="49.35" y="60.26"/>
<line x="43.18" y="60.49"/>
<line x="43.04" y="70.34"/>
<line x="87.25" y="114.56"/>
<line x="98.08" y="114.25"/>
<line x="86.63" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="118.96" y="76.6"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="52.36" y="43.28"/>
<line x="43.85" y="43.28"/>
<curve x1="43.18" x2="42.64" x3="42.64" y1="43.28" y2="43.83" y3="44.49"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="42.64" x-axis-rotation="0" y="44.49"/>
<line x="42.64" y="53.04"/>
<curve x1="42.64" x2="43.18" x3="43.85" y1="53.7" y2="54.25" y3="54.25"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="43.85" x-axis-rotation="0" y="54.25"/>
<line x="52.36" y="54.25"/>
<curve x1="53.02" x2="53.57" x3="53.57" y1="54.25" y2="53.7" y3="53.04"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="53.57" x-axis-rotation="0" y="53.04"/>
<line x="53.57" y="44.49"/>
<curve x1="53.57" x2="53.02" x3="52.36" y1="43.83" y2="43.28" y3="43.28"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="52.36" x-axis-rotation="0" y="43.28"/>
<move x="68.77" y="59.69"/>
<line x="60.26" y="59.69"/>
<curve x1="59.59" x2="59.05" x3="59.05" y1="59.69" y2="60.23" y3="60.89"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="59.05" x-axis-rotation="0" y="60.89"/>
<line x="59.05" y="69.44"/>
<curve x1="59.05" x2="59.59" x3="60.26" y1="70.1" y2="70.65" y3="70.65"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="60.26" x-axis-rotation="0" y="70.65"/>
<line x="68.77" y="70.65"/>
<curve x1="69.43" x2="69.98" x3="69.98" y1="70.65" y2="70.1" y3="69.44"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="69.98" x-axis-rotation="0" y="69.44"/>
<line x="69.98" y="60.89"/>
<curve x1="69.98" x2="69.43" x3="68.77" y1="60.23" y2="59.69" y3="59.69"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="68.77" x-axis-rotation="0" y="59.69"/>
<move x="85.18" y="59.69"/>
<line x="76.67" y="59.69"/>
<curve x1="76.0" x2="75.46" x3="75.46" y1="59.69" y2="60.23" y3="60.89"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="75.46" x-axis-rotation="0" y="60.89"/>
<line x="75.46" y="69.44"/>
<curve x1="75.46" x2="76.01" x3="76.67" y1="70.1" y2="70.65" y3="70.65"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="76.67" x-axis-rotation="0" y="70.65"/>
<line x="85.18" y="70.65"/>
<curve x1="85.85" x2="86.39" x3="86.39" y1="70.65" y2="70.1" y3="69.44"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="86.39" x-axis-rotation="0" y="69.44"/>
<line x="86.39" y="60.89"/>
<curve x1="86.39" x2="85.85" x3="85.18" y1="60.23" y2="59.69" y3="59.69"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="85.18" x-axis-rotation="0" y="59.69"/>
<move x="52.36" y="59.69"/>
<line x="43.85" y="59.69"/>
<curve x1="43.18" x2="42.64" x3="42.64" y1="59.69" y2="60.23" y3="60.9"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="42.64" x-axis-rotation="0" y="60.9"/>
<line x="42.64" y="69.44"/>
<curve x1="42.64" x2="43.18" x3="43.85" y1="70.11" y2="70.65" y3="70.65"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="43.85" x-axis-rotation="0" y="70.65"/>
<line x="52.36" y="70.65"/>
<curve x1="53.02" x2="53.57" x3="53.57" y1="70.65" y2="70.11" y3="69.44"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="53.56" x-axis-rotation="0" y="69.44"/>
<line x="53.57" y="60.9"/>
<curve x1="53.57" x2="53.02" x3="52.36" y1="60.23" y2="59.69" y3="59.69"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="52.36" x-axis-rotation="0" y="59.69"/>
<move x="51.14" y="68.21"/>
<line x="45.06" y="68.21"/>
<line x="45.06" y="62.13"/>
<line x="51.14" y="62.13"/>
<line x="51.14" y="68.21"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="68.77" y="43.28"/>
<line x="60.26" y="43.28"/>
<curve x1="59.59" x2="59.05" x3="59.05" y1="43.28" y2="43.83" y3="44.49"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="59.05" x-axis-rotation="0" y="44.49"/>
<line x="59.05" y="53.04"/>
<curve x1="59.05" x2="59.59" x3="60.26" y1="53.7" y2="54.25" y3="54.25"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="60.26" x-axis-rotation="0" y="54.25"/>
<line x="68.77" y="54.25"/>
<curve x1="69.43" x2="69.98" x3="69.98" y1="54.25" y2="53.7" y3="53.04"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="69.98" x-axis-rotation="0" y="53.04"/>
<line x="69.98" y="44.49"/>
<curve x1="69.98" x2="69.43" x3="68.77" y1="43.83" y2="43.28" y3="43.28"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="68.77" x-axis-rotation="0" y="43.28"/>
<move x="67.55" y="51.8"/>
<line x="61.47" y="51.8"/>
<line x="61.47" y="45.73"/>
<line x="67.55" y="45.73"/>
<line x="67.55" y="51.8"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="85.18" y="43.28"/>
<line x="76.67" y="43.28"/>
<curve x1="76.0" x2="75.46" x3="75.46" y1="43.28" y2="43.83" y3="44.49"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="75.46" x-axis-rotation="0" y="44.49"/>
<line x="75.46" y="53.04"/>
<curve x1="75.46" x2="76.01" x3="76.67" y1="53.7" y2="54.25" y3="54.25"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="76.67" x-axis-rotation="0" y="54.25"/>
<line x="85.18" y="54.25"/>
<curve x1="85.84" x2="86.39" x3="86.39" y1="54.25" y2="53.7" y3="53.04"/>
<arc large-arc-flag="0" rx="1.21" ry="1.21" sweep-flag="0" x="86.39" x-axis-rotation="0" y="53.04"/>
<line x="86.39" y="44.49"/>
<curve x1="86.39" x2="85.84" x3="85.18" y1="43.83" y2="43.28" y3="43.28"/>
<move x="83.96" y="51.8"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="85.18" x-axis-rotation="0" y="43.28"/>
<move x="83.97" y="51.8"/>
<line x="77.89" y="51.8"/>
<line x="77.89" y="45.73"/>
<line x="83.96" y="45.73"/>
<line x="83.96" y="51.8"/>
<line x="83.97" y="45.73"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="115.74" name="Cloud SQL" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud Spanner" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="120.68" y="75.05"/>
<line x="84.47" y="38.84"/>
<move x="74.51" y="31.82"/>
<line x="70.72" y="37.65"/>
<line x="61.51" y="28.44"/>
<line x="59.31" y="37.36"/>
<line x="54.51" y="41.96"/>
<line x="64.32" y="51.76"/>
<line x="64.46" y="60.89"/>
<line x="55.89" y="63.22"/>
<line x="46.51" y="61.5"/>
<line x="37.6" y="69.74"/>
<line x="42.45" y="74.59"/>
<line x="40.6" y="74.93"/>
<line x="79.6" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="119.08" y="76.39"/>
<close/>
</path>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="84" y="65.58"/>
<line x="91.32" y="69.8"/>
<line x="91.89" y="62.05"/>
<line x="83.12" y="56.98"/>
<line x="77.41" y="60.68"/>
<line x="68.39" y="55.47"/>
<line x="68.39" y="45.08"/>
<line x="74.51" y="41.96"/>
<line x="74.51" y="31.82"/>
<line x="67.51" y="28.44"/>
<line x="67.51" y="36.89"/>
<line x="64.51" y="38.58"/>
<line x="61.51" y="36.89"/>
<line x="61.51" y="28.44"/>
<line x="54.51" y="31.82"/>
<line x="54.51" y="41.96"/>
<line x="60.57" y="45.05"/>
<line x="60.57" y="55.47"/>
<line x="51.58" y="60.66"/>
<line x="45.8" y="56.92"/>
<line x="37.03" y="61.98"/>
<line x="37.6" y="69.74"/>
<line x="44.92" y="65.51"/>
<line x="47.88" y="67.27"/>
<line x="47.92" y="70.71"/>
<line x="40.6" y="74.93"/>
<line x="47.03" y="79.31"/>
<line x="55.8" y="74.24"/>
<line x="55.45" y="67.45"/>
<line x="64.48" y="62.24"/>
<line x="73.47" y="67.43"/>
<line x="73.12" y="74.3"/>
<line x="81.89" y="79.37"/>
<line x="88.32" y="74.99"/>
<line x="81" y="70.77"/>
<line x="81.04" y="67.33"/>
<line x="84" y="65.58"/>
<close/>
</path>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="113.93" name="Cloud SQL" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="84.47" y="38.84"/>
<line x="65.18" y="32.22"/>
<line x="44.72" y="47.67"/>
<line x="57.51" y="60.47"/>
<line x="44.68" y="61.72"/>
<line x="56.66" y="73.7"/>
<line x="44.53" y="75.22"/>
<line x="85.06" y="115.74"/>
<line x="98.08" y="114.25"/>
<line x="83.25" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="120.16" y="74.52"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="64.51" y="27.2"/>
<line x="44.51" y="38.74"/>
@ -356,7 +412,6 @@
<line x="64.51" y="59.22"/>
<line x="84.51" y="47.67"/>
<line x="84.51" y="38.74"/>
<line x="64.51" y="27.2"/>
<close/>
<move x="76.46" y="43.08"/>
<line x="76.45" y="43.07"/>
@ -368,148 +423,141 @@
<line x="64.51" y="36.18"/>
<line x="76.45" y="43.07"/>
<line x="76.46" y="43.07"/>
<line x="76.46" y="43.08"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="44.51" y="52.72"/>
<line x="44.51" y="61.65"/>
<line x="64.51" y="73.2"/>
<line x="84.51" y="61.65"/>
<line x="84.51" y="52.72"/>
<line x="64.51" y="64.27"/>
<line x="44.51" y="52.72"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="44.51" y="66.26"/>
<line x="44.51" y="75.19"/>
<line x="64.51" y="86.74"/>
<line x="84.51" y="75.19"/>
<line x="84.51" y="66.26"/>
<line x="64.51" y="77.81"/>
<line x="44.51" y="66.26"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="114.9" name="Cloud Storage" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Cloud Storage" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<curve x1="0.0" x2="0.0" x3="2.05" y1="59.16" y2="54.77" y3="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<curve x1="30.36" x2="34.16" x3="38.26" y1="2.19" y2="0.0" y3="0.0"/>
<line x="90.76" y="0.0"/>
<curve x1="94.87" x2="98.67" x3="100.72" y1="0.0" y2="2.19" y3="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<curve x1="129.03" x2="129.03" x3="126.97" y1="54.77" y2="59.16" y3="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<curve x1="98.67" x2="94.87" x3="90.76" y1="111.74" y2="113.93" y3="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<curve x1="34.16" x2="30.36" x3="28.3" y1="113.93" y2="111.74" y3="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="119.45" y="76.97"/>
<line x="86.0" y="43.52"/>
<move x="86" y="43.52"/>
<line x="49.83" y="46.84"/>
<line x="42.82" y="53.83"/>
<line x="48.77" y="59.79"/>
<line x="42.88" y="70.27"/>
<line x="87.51" y="114.9"/>
<line x="98.33" y="114.9"/>
<line x="86.54" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="119" y="76.52"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<fillcolor color="#FFFFFF"/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="85.21" y="43.24"/>
<line x="43.78" y="43.24"/>
<curve x1="43.11" x2="42.57" x3="42.57" y1="43.24" y2="43.78" y3="44.45"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="42.57" x-axis-rotation="0" y="44.45"/>
<line x="42.57" y="53.02"/>
<curve x1="42.57" x2="43.11" x3="43.78" y1="53.68" y2="54.23" y3="54.23"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="43.78" x-axis-rotation="0" y="54.23"/>
<line x="85.21" y="54.23"/>
<curve x1="85.88" x2="86.43" x3="86.43" y1="54.23" y2="53.68" y3="53.02"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="86.43" x-axis-rotation="0" y="53.02"/>
<line x="86.43" y="44.45"/>
<curve x1="86.43" x2="85.88" x3="85.21" y1="43.78" y2="43.24" y3="43.24"/>
<move x="78.8" y="51.21"/>
<curve x1="77.43" x2="76.32" x3="76.32" y1="51.21" y2="50.1" y3="48.73"/>
<curve x1="76.32" x2="77.43" x3="78.8" y1="47.36" y2="46.25" y3="46.25"/>
<curve x1="80.17" x2="81.28" x3="81.28" y1="46.25" y2="47.36" y3="48.73"/>
<curve x1="81.28" x2="80.17" x3="78.8" y1="50.1" y2="51.21" y3="51.21"/>
</path>
<fillstroke/>
<path>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="85.21" x-axis-rotation="0" y="43.24"/>
<move x="78.79" y="51.22"/>
<arc large-arc-flag="1" rx="2.48" ry="2.48" sweep-flag="1" x="81.27" x-axis-rotation="0" y="48.74"/>
<arc large-arc-flag="0" rx="2.48" ry="2.48" sweep-flag="1" x="78.79" x-axis-rotation="0" y="51.22"/>
<move x="85.21" y="59.7"/>
<line x="43.78" y="59.7"/>
<curve x1="43.11" x2="42.57" x3="42.57" y1="59.7" y2="60.25" y3="60.92"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="42.57" x-axis-rotation="0" y="60.92"/>
<line x="42.57" y="69.48"/>
<curve x1="42.57" x2="43.11" x3="43.78" y1="70.15" y2="70.7" y3="70.7"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="43.78" x-axis-rotation="0" y="70.7"/>
<line x="85.21" y="70.7"/>
<curve x1="85.88" x2="86.43" x3="86.43" y1="70.7" y2="70.15" y3="69.48"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="86.43" x-axis-rotation="0" y="69.48"/>
<line x="86.43" y="60.92"/>
<curve x1="86.43" x2="85.88" x3="85.21" y1="60.25" y2="59.7" y3="59.7"/>
<move x="78.8" y="67.68"/>
<curve x1="77.43" x2="76.32" x3="76.32" y1="67.68" y2="66.56" y3="65.2"/>
<curve x1="76.32" x2="77.43" x3="78.8" y1="63.83" y2="62.72" y3="62.72"/>
<curve x1="80.17" x2="81.28" x3="81.28" y1="62.72" y2="63.83" y3="65.2"/>
<curve x1="81.28" x2="80.17" x3="78.8" y1="66.57" y2="67.68" y3="67.68"/>
<arc large-arc-flag="0" rx="1.22" ry="1.22" sweep-flag="0" x="85.21" x-axis-rotation="0" y="59.7"/>
<move x="78.79" y="67.68"/>
<arc large-arc-flag="1" rx="2.48" ry="2.48" sweep-flag="1" x="81.27" x-axis-rotation="0" y="65.2"/>
<arc large-arc-flag="0" rx="2.48" ry="2.48" sweep-flag="1" x="78.79" x-axis-rotation="0" y="67.68"/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
<shape aspect="variable" h="115.97" name="Persistent Disk" strokewidth="inherit" w="129.03">
<shape aspect="variable" h="113.93" name="Persistent Disk" strokewidth="inherit" w="129.03">
<connections/>
<foreground>
<save/>
<path>
<move x="28.3" y="108.18"/>
<line x="2.05" y="62.72"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="2.05" x-axis-rotation="0.0" y="51.22"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="2.05" x-axis-rotation="0" y="51.22"/>
<line x="28.3" y="5.75"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="38.26" x-axis-rotation="0.0" y="0.0"/>
<line x="90.76" y="0.0"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="100.72" x-axis-rotation="0.0" y="5.75"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="38.26" x-axis-rotation="0" y="0"/>
<line x="90.76" y="0"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="100.72" x-axis-rotation="0" y="5.75"/>
<line x="126.97" y="51.22"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="126.97" x-axis-rotation="0.0" y="62.72"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="126.97" x-axis-rotation="0" y="62.72"/>
<line x="100.72" y="108.18"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="90.76" x-axis-rotation="0.0" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="90.76" x-axis-rotation="0" y="113.93"/>
<line x="38.26" y="113.93"/>
<arc large-arc-flag="0.0" rx="11.5" ry="11.5" sweep-flag="1.0" x="28.3" x-axis-rotation="0.0" y="108.18"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="1" x="28.3" x-axis-rotation="0" y="108.18"/>
<close/>
</path>
<fillstroke/>
<strokecolor color="none"/>
<fillcolor color="#000000"/>
<alpha alpha="0.07"/>
<path>
<move x="124.51" y="73.97"/>
<line x="83.51" y="32.97"/>
<move x="83.51" y="32.97"/>
<line x="51.51" y="36.97"/>
<line x="45.51" y="52.97"/>
<line x="50.51" y="57.97"/>
<line x="45.51" y="66.97"/>
<line x="50.51" y="71.97"/>
<line x="45.51" y="80.97"/>
<line x="80.51" y="115.97"/>
<line x="98.51" y="115.97"/>
<line x="124.51" y="73.97"/>
<line x="78.48" y="113.93"/>
<line x="90.76" y="113.93"/>
<arc large-arc-flag="0" rx="11.5" ry="11.5" sweep-flag="0" x="100.72" x-axis-rotation="0" y="108.18"/>
<line x="121.96" y="71.41"/>
<close/>
</path>
<fillstroke/>
<fill/>
<restore/>
<rect/>
<stroke/>
<strokecolor color="none"/>
<fillcolor color="#fff"/>
<path>
<move x="74.51" y="60.97"/>
@ -520,9 +568,6 @@
<line x="83.51" y="60.97"/>
<line x="74.51" y="60.97"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="54.51" y="52.97"/>
<line x="54.51" y="41.97"/>
<line x="83.51" y="41.97"/>
@ -531,9 +576,6 @@
<line x="45.51" y="52.97"/>
<line x="54.51" y="52.97"/>
<close/>
</path>
<fillstroke/>
<path>
<move x="59.51" y="46.97"/>
<line x="59.51" y="57.97"/>
<line x="45.51" y="57.97"/>
@ -545,7 +587,7 @@
<line x="59.51" y="46.97"/>
<close/>
</path>
<fillstroke/>
<fill/>
</foreground>
</shape>
</shapes>