diff --git a/ChangeLog b/ChangeLog index a9f6ba0645787756c160dce87559ec286d0b57b6..04ce52744aa1cdec5df4e5984d313886b3ae0dde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,13 @@ -05-FEB-2020: 12.8.1 +09-MAR-2020: 12.8.2 + +- Fixes Confluence Cloud lightbox and Jira Cloud editor iFrame resize + + +05-MAR-2020: 12.8.1 - Fixes Confluence Cloud editor iFrame resize -05-FEB-2020: 12.8.0 +05-MAR-2020: 12.8.0 - Fixes PDF export for multiple page formats - Fixes PDF export page variable placeholder diff --git a/VERSION b/VERSION index 94a033d4683d48a554ba285e9e12b53418802a68..2e84a92770c2e53ded85b25c444a49d29479a700 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -12.8.1 \ No newline at end of file +12.8.2 \ No newline at end of file diff --git a/etc/redirect-worker/redirect.js b/etc/redirect-worker/redirect.js index c417fa8f30c03c1dd2ac19fb211827215076f7fc..01d3cc235efb0d183d94b8d320ac69ca6d5e60e2 100644 --- a/etc/redirect-worker/redirect.js +++ b/etc/redirect-worker/redirect.js @@ -147,7 +147,7 @@ const redirectMap = new Map([ ['/', 'https://appsource.microsoft.com/product/office/wa200000113'] ])], ['slidesaddon.draw.io', new Map([ - ['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams_for_slides/58828304893'] + ['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams_for_slides/588283048931'] ])], ['sheetsaddon.draw.io', new Map([ ['/', 'https://gsuite.google.com/marketplace/app/drawio_diagrams_for_sheets/948903782998'] diff --git a/src/main/webapp/electron.js b/src/main/webapp/electron.js index 5276126da5c03488262ee2bce5cef731693896d2..0bd6ce364b2426f5f608ac40fc052fa05f401bc7 100644 --- a/src/main/webapp/electron.js +++ b/src/main/webapp/electron.js @@ -508,6 +508,21 @@ app.on('ready', e => return; } + //Prevent multiple instances of the application (casuses issues with configuration) + const gotTheLock = app.requestSingleInstanceLock() + + if (!gotTheLock) + { + app.quit() + } + else + { + app.on('second-instance', (event, commandLine, workingDirectory) => { + //Create another window + createWindow(); + }) + } + let win = createWindow() win.webContents.on('did-finish-load', function() diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 399842324831c869d5be703b66859b7aae283b49..f274699c63c0e3e03dd6f7565423b9b7917d87b8 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -8726,7 +8726,7 @@ A.className="geBtn",p.appendChild(A));PrintDialog.previewEnabled&&(A=mxUtils.but this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(A.apply(this,arguments),null!=this.mathEnabled&& this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var E=document.createElement("canvas"),D=new Image;D.onload=function(){try{E.getContext("2d").drawImage(D,0,0);var a=E.toDataURL("image/png");Editor.prototype.useCanvasForExport= null!=a&&6<a.length}catch(G){}};D.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(B){}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,b){b.ui=a.ui;return c};a.afterDecode=function(a,c,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.8.1";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars= +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,b){b.ui=a.ui;return c};a.afterDecode=function(a,c,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.8.2";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars= "\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&& !EditorUi.isElectronApp&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4, topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,c,d,f,q,g){q=null!=q?q:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&& @@ -8808,7 +8808,7 @@ b,a,a.getMode(),!0,!0,function(){null!=u&&null!=u.parentNode&&(u.parentNode.remo H(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(p,function(){},mxUtils.bind(this,function(a){t.isMouseDown&&null!=t.panningManager&&null!=t.graphHandler.first&&(t.graphHandler.suspend(),null!=t.graphHandler.hint&&(t.graphHandler.hint.style.visibility="hidden"),p.style.backgroundColor="#f1f3f4",p.style.cursor="copy",t.panningManager.stop(),t.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){t.isMouseDown&&null!=t.panningManager&&null!=t.graphHandler&&(p.style.backgroundColor= "",p.style.cursor="default",this.sidebar.showTooltips=!0,t.panningManager.stop(),t.graphHandler.reset(),t.isMouseDown=!1,t.autoScroll=!0,K(a),mxEvent.consume(a))}));mxEvent.addListener(p,"mouseleave",mxUtils.bind(this,function(a){t.isMouseDown&&null!=t.graphHandler.first&&(t.graphHandler.resume(),null!=t.graphHandler.hint&&(t.graphHandler.hint.style.visibility="visible"),p.style.backgroundColor="",p.style.cursor="",t.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(p,"dragover",mxUtils.bind(this, function(a){p.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";p.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(p,"drop",mxUtils.bind(this,function(a){p.style.cursor="";p.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,e,g,q,k,l,y,n){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image="+ -this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,q,k),c)],c[0].vertex=!0,H(c,new mxRectangle(0,0,q,k),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=m&&null!=m.parentNode&&0<b.length&&(m.parentNode.removeChild(m),m=null);else{var A=!1,t=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var e=Editor.extractGraphModelFromPdf(c);null!=e&&0<e.length&&(d="text/xml",c=e)}if(null!=c&&"text/xml"==d)if(e=mxUtils.parseXml(c),"mxlibrary"==e.documentElement.nodeName)try{var g= +this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,q,k),c)],c[0].vertex=!0,H(c,new mxRectangle(0,0,q,k),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=m&&null!=m.parentNode&&0<b.length&&(m.parentNode.removeChild(m),m=null);else{var A=!1,t=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var e=Editor.extractGraphModelFromPdf(c);null!=e&&0<e.length&&(c=e)}if(null!=c)if(e=mxUtils.parseXml(c),"mxlibrary"==e.documentElement.nodeName)try{var g= JSON.parse(mxUtils.getTextContent(e.documentElement));f(g,p);b=b.concat(g);I(a);this.spinner.stop();A=!0}catch(M){}else if("mxfile"==e.documentElement.nodeName)try{for(var q=e.documentElement.getElementsByTagName("diagram"),g=0;g<q.length;g++){var k=this.stringToCells(Editor.getDiagramNodeXml(q[g])),l=this.editor.graph.getBoundingBoxFromGeometry(k);H(k,new mxRectangle(0,0,l.width,l.height),a)}A=!0}catch(M){null!=window.console&&console.log("error in drop handler:",M)}A||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); null!=m&&null!=m.parentNode&&0<b.length&&(m.parentNode.removeChild(m),m=null)});null!=n&&null!=l&&(/(\.v(dx|sdx?))($|\?)/i.test(l)||/(\.vs(x|sx?))($|\?)/i.test(l))?this.importVisio(n,function(a){t(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,l)&&null!=n?this.parseFile(n,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?t(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status? "drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):t(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(p,"dragleave",function(a){p.style.cursor="";p.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));l=l.cloneNode(!1);l.setAttribute("src",Editor.editImage);l.setAttribute("title",mxResources.get("edit"));k.insertBefore(l,k.firstChild);mxEvent.addListener(l,"click",G);mxEvent.addListener(p,"dblclick",function(a){mxEvent.getSource(a)== @@ -9808,26 +9808,26 @@ App.MODE_GITLAB)},c);null!=b.trello?a.addItem(mxResources.get("trello")+"...",nu a.addItem(mxResources.get("github")+"...",null,function(){b.pickLibrary(App.MODE_GITHUB)},c);null!=b.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){b.pickLibrary(App.MODE_GITLAB)},c);null!=b.trello?a.addItem(mxResources.get("trello")+"...",null,function(){b.pickLibrary(App.MODE_TRELLO)},c):u&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);a.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&& a.addItem(mxResources.get("browser")+"...",null,function(){b.pickLibrary(App.MODE_BROWSER)},c);a.addItem(mxResources.get("device")+"...",null,function(){b.pickLibrary(App.MODE_DEVICE)},c);b.isOffline()||(a.addSeparator(c),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(b,"",mxResources.get("open"),function(a){if(null!=a&&0<a.length&&b.spinner.spin(document.body,mxResources.get("loading"))){var c=a;b.editor.isCorsEnabledForUrl(a)||(c=PROXY_URL+"?url="+encodeURIComponent(a)); mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){b.spinner.stop();try{b.loadLibrary(new UrlLibrary(this,c.getText(),a))}catch(I){b.handleError(I,mxResources.get("errorLoadingFile"))}}else b.spinner.stop(),b.handleError(null,mxResources.get("errorLoadingFile"))},function(){b.spinner.stop();b.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));b.showDialog(a.container,300,80,!0,!0);a.init()},c));"1"==urlParams.confLib&&(a.addSeparator(c),a.addItem(mxResources.get("confluenceCloud")+ -"...",null,function(){b.showRemotelyStoredLibrary(mxResources.get("libraries"))},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip - editStyle editGeometry - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));e=b.actions.addAction("comments",mxUtils.bind(this,function(){if(null==this.commentsWindow)this.commentsWindow=new CommentsWindow(b, -document.body.offsetWidth-380,120,300,350),this.commentsWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("comments"));else{var a=!this.commentsWindow.window.isVisible();this.commentsWindow.window.setVisible(a);this.commentsWindow.refreshCommentsTime();a&&this.commentsWindow.hasError&&this.commentsWindow.refreshComments()}})); -e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.commentsWindow&&this.commentsWindow.window.isVisible()}));b.editor.addListener("fileLoaded",mxUtils.bind(this,function(){null!=this.commentsWindow&&(this.commentsWindow.destroy(),this.commentsWindow=null)}));var e=this.get("viewPanels"),C=e.funct;e.funct=function(a,c){C.apply(this,arguments);b.commentsSupported()&&b.menus.addMenuItems(a,["comments"],c)};this.put("view",new Menu(mxUtils.bind(this,function(a, -c){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers"]).concat(b.commentsSupported()?["comments","-"]:["-"]));this.addMenuItems(a,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(a,"scratchpad",c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(a,["shapes","-","pageView","pageScale"]);this.addSubmenu("units", -a,c);this.addMenuItems(a,"- scrollbars tooltips ruler - grid guides".split(" "),c);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(a,"shadowVisible",c);this.addMenuItems(a,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(a,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",a,c),a.addSeparator(c));if("undefined"!==typeof MathJax){var d=this.addMenuItem(a,"mathematicalTypesetting", -c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}this.addMenuItems(a,["copyConnect","collapseExpand","-"],c);"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&this.addMenuItems(a,["showStartScreen"],c);"1"!=urlParams.embed&&this.addMenuItems(a,["autosave","compressed"],c);a.addSeparator(c);!b.isOfflineApp()&&isLocalStorage&&this.addMenuItem(a,"plugins",c);this.addMenuItems(a,["tags", -"-","editDiagram","-","drawConfig"],c);a.addSeparator(c);"1"==urlParams.newTempDlg&&(b.actions.addAction("templates",function(){var a=new TemplatesDialog;b.showDialog(a.container,a.width,a.height,!0,!1,null,!1,!0);a.init(b,function(a){console.log(a)},null,null,null,"user",function(a,b){setTimeout(function(){b?a([{url:"123",title:"Test 1Test 1Test 1Test 1Test 1Test 1Test 11Test 1Test 11Test 1Test 1dgdsgdfg fdg dfgdfg dfg dfg"},{url:"123",title:"Test 2",imgUrl:"https://www.google.com.eg/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"}, -{url:"123",title:"Test 3",changedBy:"Ashraf Teleb",lastModifiedOn:"Yesterday"},{url:"123",title:"Test 4"},{url:"123",title:"Test 5"},{url:"123",title:"Test 6"}]):a([{url:"123",title:"Test 4",imgUrl:"https://images.pexels.com/photos/459225/pexels-photo-459225.jpeg"},{url:"123",title:"Test 5"},{url:"123",title:"Test 6"},{url:"123",title:"Test 1Test 1Test 1Test 1Test 1Test 1Test 11Test 1Test 11Test 1Test 1dgdsgdfg fdg dfgdfg dfg dfg"},{url:"123",title:"Test 2",imgUrl:"https://www.google.com.eg/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"}, -{url:"123",title:"Test 3",changedBy:"Ashraf Teleb",lastModifiedOn:"Yesterday"}]);console.log(b)},1E3)},function(a,b,c){setTimeout(function(){b(c?[{url:"123",title:a+"Test 1Test 1Test 1Test 1Test 1Test 1Test 1"},{url:"123",title:a+"Test 2"},{url:"123",title:a+"Test 3"},{url:"123",title:a+"Test 4"},{url:"123",title:a+"Test 5"},{url:"123",title:a+"Test 6"}]:[{url:"123",title:a+"Test 5"},{url:"123",title:a+"Test 6"},{url:"123",title:a+"Test 1Test 1Test 1Test 1Test 1Test 1Test 1"},{url:"123",title:a+"Test 2"}, -{url:"123",title:a+"Test 3"},{url:"123",title:a+"Test 4"}])},2E3)},null)}),this.addMenuItem(a,"templates",c))})));this.put("file",new Menu(mxUtils.bind(this,function(a,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",a,c),this.addSubmenu("exportAs",a,c),this.addSubmenu("embed",a,c),"1"==urlParams.libraries&&(this.addMenuItems(a,["-"],c),this.addSubmenu("newLibrary",a,c),this.addSubmenu("openLibraryFrom",a,c)),b.isRevisionHistorySupported()&&this.addMenuItems(a,["-","revisionHistory"],c),this.addMenuItems(a, -["-","pageSetup","print","-","rename","1"==urlParams.noSaveBtn?"saveAndExit":"save"],c),"1"==urlParams.saveAndExit&&"1"!=urlParams.noSaveBtn&&this.addMenuItems(a,["saveAndExit"],c),this.addMenuItems(a,["exit"],c);else{var d=this.editorUi.getCurrentFile();if(null!=d&&d.constructor==DriveFile){d.isRestricted()&&this.addMenuItems(a,["exportOptionsDisabled"],c);this.addMenuItems(a,["save","-","share"],c);var e=this.addMenuItem(a,"synchronize",c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&& -this.addLinkToItem(e,"https://desk.draw.io/support/solutions/articles/16000087947");a.addSeparator(c)}else this.addMenuItems(a,["new"],c);this.addSubmenu("openFrom",a,c);isLocalStorage&&this.addSubmenu("openRecent",a,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(a,["new","-","rename","makeCopy","moveToFolder"],c):(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||null==d||d.constructor==LocalFile||(a.addSeparator(c),e=this.addMenuItem(a,"synchronize",c),(!b.isOffline()||mxClient.IS_CHROMEAPP|| -EditorUi.isElectronApp)&&this.addLinkToItem(e,"https://desk.draw.io/support/solutions/articles/16000087947")),this.addMenuItems(a,["-","save","saveAs"],c),this.addMenuItems(a,["-","rename"],c),b.isOfflineApp()?navigator.onLine&&"1"!=urlParams.stealth&&this.addMenuItems(a,["upload"],c):(this.addMenuItems(a,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(a,["moveToFolder"],c)));a.addSeparator(c);this.addSubmenu("importFrom",a,c);this.addSubmenu("exportAs",a,c);a.addSeparator(c); -this.addSubmenu("embed",a,c);this.addSubmenu("publish",a,c);a.addSeparator(c);this.addSubmenu("newLibrary",a,c);this.addSubmenu("openLibraryFrom",a,c);b.isRevisionHistorySupported()&&this.addMenuItems(a,["-","revisionHistory"],c);this.addMenuItems(a,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["print"],c);this.addMenuItems(a,["-","close"])}})));a.prototype.execute=function(){var a=this.ui.editor.graph;this.extFonts=this.previousExtFonts;for(var b=a.extFonts,c=0;null!= -b&&c<b.length;c++){var d=document.getElementById("extFont_"+b[c].name);null!=d&&d.parentNode.removeChild(d)}a.extFonts=[];for(c=0;c<this.previousExtFonts.length;c++)this.ui.editor.graph.addExtFont(this.previousExtFonts[c].name,this.previousExtFonts[c].url);this.previousExtFonts=b};this.put("fontFamily",new Menu(mxUtils.bind(this,function(b,c){for(var d=mxUtils.bind(this,function(a,d){var e=this.editorUi.editor.graph;this.styleChange(b,a,[mxConstants.STYLE_FONTFAMILY],[a],null,c,function(){document.execCommand("fontname", -!1,a);e.addExtFont(a,d)},function(){e.updateLabelElements(e.getSelectionCells(),function(a){a.removeAttribute("face");a.style.fontFamily=null;"PRE"==a.nodeName&&e.replaceElement(a,"div")});e.addExtFont(a,d)}).firstChild.nextSibling.style.fontFamily=a}),e=0;e<this.defaultFonts.length;e++)d(this.defaultFonts[e]);b.addSeparator(c);var f=this.editorUi.editor.graph.extFonts;if(null!=f&&0<f.length){for(var g={},k=!1,e=0;e<this.customFonts.length;e++)g[this.customFonts[e].name]=!0;for(e=0;e<f.length;e++)g[f[e].name]|| -(this.customFonts.push(f[e]),k=!0);k&&this.editorUi.fireEvent(new mxEventObject("customFontsChanged"))}if(0<this.customFonts.length){for(e=0;e<this.customFonts.length;e++)f=this.customFonts[e].name,g=this.customFonts[e].url,d(f,g),this.editorUi.editor.graph.addExtFont(f,g,!0);b.addSeparator(c);b.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){var b=new a(this.editorUi,[]);this.editorUi.editor.graph.model.execute(b);this.customFonts=[];this.editorUi.fireEvent(new mxEventObject("customFontsChanged"))}), -c);b.addSeparator(c)}b.addItem(mxResources.get("custom")+"...",null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,b=mxConstants.DEFAULT_FONTFAMILY,c="s",d=null,e=a.getView().getState(a.getSelectionCell());null!=e&&(b=e.style[mxConstants.STYLE_FONTFAMILY]||b,c=e.style.FType||c,"w"==c&&(d=this.editorUi.editor.graph.extFonts,e=null,null!=d&&(e=d.find(function(a){return a.name==b})),d=null!=e?e.url:mxResources.get("urlNofFound",null,"URL not found"),0==d.indexOf(PROXY_URL)&&(d=decodeURIComponent(d.substr((PROXY_URL+ -"?url=").length)))));c=new FontDialog(this.editorUi,b,d,c,mxUtils.bind(this,function(b,c,d){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1);a.setCellStyles(mxConstants.STYLE_FONTFAMILY,b);"s"!=d&&(a.setCellStyles("FType",d),0==c.indexOf("http://")&&(c=PROXY_URL+"?url="+encodeURIComponent(c)),this.editorUi.editor.graph.addExtFont(b,c));d=!0;for(var e=0;e<this.customFonts.length;e++)if(this.customFonts[e].name==b){d=!1;break}d&&(this.customFonts.push({name:b,url:c}),this.editorUi.fireEvent(new mxEventObject("customFontsChanged")))}finally{a.getModel().endUpdate()}}})); -this.editorUi.showDialog(c.container,380,250,!0,!0);c.init()}),c,null,!0)})))}})();function DiagramPage(a,d){this.node=a;null!=d?this.node.setAttribute("id",d):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")}; +"...",null,function(){b.showRemotelyStoredLibrary(mxResources.get("libraries"))},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,["undo","redo","-","cut","copy"]);mxIsElectron&&b.isExportToCanvas()&&this.addMenuItems(a,["copyAsImage"]);this.addMenuItems(a,"paste delete - duplicate - find - editData editTooltip - editStyle editGeometry - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));e=b.actions.addAction("comments", +mxUtils.bind(this,function(){if(null==this.commentsWindow)this.commentsWindow=new CommentsWindow(b,document.body.offsetWidth-380,120,300,350),this.commentsWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("comments"));else{var a=!this.commentsWindow.window.isVisible();this.commentsWindow.window.setVisible(a); +this.commentsWindow.refreshCommentsTime();a&&this.commentsWindow.hasError&&this.commentsWindow.refreshComments()}}));e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.commentsWindow&&this.commentsWindow.window.isVisible()}));b.editor.addListener("fileLoaded",mxUtils.bind(this,function(){null!=this.commentsWindow&&(this.commentsWindow.destroy(),this.commentsWindow=null)}));var e=this.get("viewPanels"),C=e.funct;e.funct=function(a,c){C.apply(this,arguments); +b.commentsSupported()&&b.menus.addMenuItems(a,["comments"],c)};this.put("view",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers"]).concat(b.commentsSupported()?["comments","-"]:["-"]));this.addMenuItems(a,["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(a,"scratchpad",c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(a, +["shapes","-","pageView","pageScale"]);this.addSubmenu("units",a,c);this.addMenuItems(a,"- scrollbars tooltips ruler - grid guides".split(" "),c);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(a,"shadowVisible",c);this.addMenuItems(a,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)})));this.put("extras",new Menu(mxUtils.bind(this,function(a,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",a,c),a.addSeparator(c));if("undefined"!== +typeof MathJax){var d=this.addMenuItem(a,"mathematicalTypesetting",c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}this.addMenuItems(a,["copyConnect","collapseExpand","-"],c);"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&this.addMenuItems(a,["showStartScreen"],c);"1"!=urlParams.embed&&this.addMenuItems(a,["autosave","compressed"],c);a.addSeparator(c);!b.isOfflineApp()&&isLocalStorage&& +this.addMenuItem(a,"plugins",c);this.addMenuItems(a,["tags","-","editDiagram","-","drawConfig"],c);a.addSeparator(c);"1"==urlParams.newTempDlg&&(b.actions.addAction("templates",function(){var a=new TemplatesDialog;b.showDialog(a.container,a.width,a.height,!0,!1,null,!1,!0);a.init(b,function(a){console.log(a)},null,null,null,"user",function(a,b){setTimeout(function(){b?a([{url:"123",title:"Test 1Test 1Test 1Test 1Test 1Test 1Test 11Test 1Test 11Test 1Test 1dgdsgdfg fdg dfgdfg dfg dfg"},{url:"123", +title:"Test 2",imgUrl:"https://www.google.com.eg/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},{url:"123",title:"Test 3",changedBy:"Ashraf Teleb",lastModifiedOn:"Yesterday"},{url:"123",title:"Test 4"},{url:"123",title:"Test 5"},{url:"123",title:"Test 6"}]):a([{url:"123",title:"Test 4",imgUrl:"https://images.pexels.com/photos/459225/pexels-photo-459225.jpeg"},{url:"123",title:"Test 5"},{url:"123",title:"Test 6"},{url:"123",title:"Test 1Test 1Test 1Test 1Test 1Test 1Test 11Test 1Test 11Test 1Test 1dgdsgdfg fdg dfgdfg dfg dfg"}, +{url:"123",title:"Test 2",imgUrl:"https://www.google.com.eg/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},{url:"123",title:"Test 3",changedBy:"Ashraf Teleb",lastModifiedOn:"Yesterday"}]);console.log(b)},1E3)},function(a,b,c){setTimeout(function(){b(c?[{url:"123",title:a+"Test 1Test 1Test 1Test 1Test 1Test 1Test 1"},{url:"123",title:a+"Test 2"},{url:"123",title:a+"Test 3"},{url:"123",title:a+"Test 4"},{url:"123",title:a+"Test 5"},{url:"123",title:a+"Test 6"}]:[{url:"123",title:a+"Test 5"}, +{url:"123",title:a+"Test 6"},{url:"123",title:a+"Test 1Test 1Test 1Test 1Test 1Test 1Test 1"},{url:"123",title:a+"Test 2"},{url:"123",title:a+"Test 3"},{url:"123",title:a+"Test 4"}])},2E3)},null)}),this.addMenuItem(a,"templates",c))})));this.put("file",new Menu(mxUtils.bind(this,function(a,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",a,c),this.addSubmenu("exportAs",a,c),this.addSubmenu("embed",a,c),"1"==urlParams.libraries&&(this.addMenuItems(a,["-"],c),this.addSubmenu("newLibrary",a,c), +this.addSubmenu("openLibraryFrom",a,c)),b.isRevisionHistorySupported()&&this.addMenuItems(a,["-","revisionHistory"],c),this.addMenuItems(a,["-","pageSetup","print","-","rename","1"==urlParams.noSaveBtn?"saveAndExit":"save"],c),"1"==urlParams.saveAndExit&&"1"!=urlParams.noSaveBtn&&this.addMenuItems(a,["saveAndExit"],c),this.addMenuItems(a,["exit"],c);else{var d=this.editorUi.getCurrentFile();if(null!=d&&d.constructor==DriveFile){d.isRestricted()&&this.addMenuItems(a,["exportOptionsDisabled"],c);this.addMenuItems(a, +["save","-","share"],c);var e=this.addMenuItem(a,"synchronize",c);(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(e,"https://desk.draw.io/support/solutions/articles/16000087947");a.addSeparator(c)}else this.addMenuItems(a,["new"],c);this.addSubmenu("openFrom",a,c);isLocalStorage&&this.addSubmenu("openRecent",a,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(a,["new","-","rename","makeCopy","moveToFolder"],c):(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp|| +null==d||d.constructor==LocalFile||(a.addSeparator(c),e=this.addMenuItem(a,"synchronize",c),(!b.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&this.addLinkToItem(e,"https://desk.draw.io/support/solutions/articles/16000087947")),this.addMenuItems(a,["-","save","saveAs"],c),this.addMenuItems(a,["-","rename"],c),b.isOfflineApp()?navigator.onLine&&"1"!=urlParams.stealth&&this.addMenuItems(a,["upload"],c):(this.addMenuItems(a,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(a, +["moveToFolder"],c)));a.addSeparator(c);this.addSubmenu("importFrom",a,c);this.addSubmenu("exportAs",a,c);a.addSeparator(c);this.addSubmenu("embed",a,c);this.addSubmenu("publish",a,c);a.addSeparator(c);this.addSubmenu("newLibrary",a,c);this.addSubmenu("openLibraryFrom",a,c);b.isRevisionHistorySupported()&&this.addMenuItems(a,["-","revisionHistory"],c);this.addMenuItems(a,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["print"],c);this.addMenuItems(a,["-","close"])}}))); +a.prototype.execute=function(){var a=this.ui.editor.graph;this.extFonts=this.previousExtFonts;for(var b=a.extFonts,c=0;null!=b&&c<b.length;c++){var d=document.getElementById("extFont_"+b[c].name);null!=d&&d.parentNode.removeChild(d)}a.extFonts=[];for(c=0;c<this.previousExtFonts.length;c++)this.ui.editor.graph.addExtFont(this.previousExtFonts[c].name,this.previousExtFonts[c].url);this.previousExtFonts=b};this.put("fontFamily",new Menu(mxUtils.bind(this,function(b,c){for(var d=mxUtils.bind(this,function(a, +d){var e=this.editorUi.editor.graph;this.styleChange(b,a,[mxConstants.STYLE_FONTFAMILY],[a],null,c,function(){document.execCommand("fontname",!1,a);e.addExtFont(a,d)},function(){e.updateLabelElements(e.getSelectionCells(),function(a){a.removeAttribute("face");a.style.fontFamily=null;"PRE"==a.nodeName&&e.replaceElement(a,"div")});e.addExtFont(a,d)}).firstChild.nextSibling.style.fontFamily=a}),e=0;e<this.defaultFonts.length;e++)d(this.defaultFonts[e]);b.addSeparator(c);var f=this.editorUi.editor.graph.extFonts; +if(null!=f&&0<f.length){for(var g={},k=!1,e=0;e<this.customFonts.length;e++)g[this.customFonts[e].name]=!0;for(e=0;e<f.length;e++)g[f[e].name]||(this.customFonts.push(f[e]),k=!0);k&&this.editorUi.fireEvent(new mxEventObject("customFontsChanged"))}if(0<this.customFonts.length){for(e=0;e<this.customFonts.length;e++)f=this.customFonts[e].name,g=this.customFonts[e].url,d(f,g),this.editorUi.editor.graph.addExtFont(f,g,!0);b.addSeparator(c);b.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){var b= +new a(this.editorUi,[]);this.editorUi.editor.graph.model.execute(b);this.customFonts=[];this.editorUi.fireEvent(new mxEventObject("customFontsChanged"))}),c);b.addSeparator(c)}b.addItem(mxResources.get("custom")+"...",null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,b=mxConstants.DEFAULT_FONTFAMILY,c="s",d=null,e=a.getView().getState(a.getSelectionCell());null!=e&&(b=e.style[mxConstants.STYLE_FONTFAMILY]||b,c=e.style.FType||c,"w"==c&&(d=this.editorUi.editor.graph.extFonts,e=null, +null!=d&&(e=d.find(function(a){return a.name==b})),d=null!=e?e.url:mxResources.get("urlNofFound",null,"URL not found"),0==d.indexOf(PROXY_URL)&&(d=decodeURIComponent(d.substr((PROXY_URL+"?url=").length)))));c=new FontDialog(this.editorUi,b,d,c,mxUtils.bind(this,function(b,c,d){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1);a.setCellStyles(mxConstants.STYLE_FONTFAMILY,b);"s"!=d&&(a.setCellStyles("FType",d),0==c.indexOf("http://")&&(c=PROXY_URL+"?url="+encodeURIComponent(c)), +this.editorUi.editor.graph.addExtFont(b,c));d=!0;for(var e=0;e<this.customFonts.length;e++)if(this.customFonts[e].name==b){d=!1;break}d&&(this.customFonts.push({name:b,url:c}),this.editorUi.fireEvent(new mxEventObject("customFontsChanged")))}finally{a.getModel().endUpdate()}}}));this.editorUi.showDialog(c.container,380,250,!0,!0);c.init()}),c,null,!0)})))}})();function DiagramPage(a,d){this.node=a;null!=d?this.node.setAttribute("id",d):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")}; DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,d,c){this.ui=a;this.page=d;this.previous=this.name=c}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.name=this.previous;this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; function MovePage(a,d,c){this.ui=a;this.oldIndex=d;this.newIndex=c}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; function SelectPage(a,d,c){this.ui=a;this.previousPage=this.page=d;this.neverShown=!0;null!=d&&(this.neverShown=null==d.viewState,this.ui.updatePageRoot(d),null!=c&&(d.viewState=c,this.neverShown=!1))} diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js index 3dede93bba4ea25059c8e80e0f042d0d07757f00..9205650575add0bbc3d44499766a9d8fc045b846 100644 --- a/src/main/webapp/js/diagramly/EditorUi.js +++ b/src/main/webapp/js/diagramly/EditorUi.js @@ -3282,7 +3282,7 @@ } } - if (theData != null && theMimeType == 'text/xml') + if (theData != null) //Try to parse the file as xml (can be a library or mxfile). Otherwise, an error will be shown { var doc = mxUtils.parseXml(theData); diff --git a/src/main/webapp/js/diagramly/ElectronApp.js b/src/main/webapp/js/diagramly/ElectronApp.js index f53be3e66cace024b78fcb4666b34dba8ba3d39b..db8458e1f760a390a348c9a19c7101d80be71a65 100644 --- a/src/main/webapp/js/diagramly/ElectronApp.js +++ b/src/main/webapp/js/diagramly/ElectronApp.js @@ -216,7 +216,10 @@ mxStencilRegistry.allowEval = false; var remote = electron.remote; var dialog = remote.dialog; - var paths = dialog.showOpenDialogSync({properties: ['openFile']}); + var paths = dialog.showOpenDialogSync({ + defaultPath: remote.app.getPath('documents'), + properties: ['openFile'] + }); if (paths !== undefined && paths[0] != null) { @@ -406,6 +409,51 @@ mxStencilRegistry.allowEval = false; // Adds shortcut keys for file operations editorUi.keyHandler.bindAction(78, true, 'new'); // Ctrl+N editorUi.keyHandler.bindAction(79, true, 'open'); // Ctrl+O + + var copyAsImage = this.actions.addAction('copyAsImage', mxUtils.bind(this, function() + { + const electron = require('electron'); + var remote = electron.remote; + var clipboard = remote.clipboard; + var nativeImage = remote.nativeImage; + + if (editorUi.spinner.spin(document.body, mxResources.get('exporting'))) + { + editorUi.exportToCanvas(function(canvas) + { + try + { + var img = nativeImage.createFromDataURL(editorUi.createImageDataUri(canvas, null, 'png')); + clipboard.writeImage(img); + editorUi.spinner.stop(); + } + catch (e) + { + editorUi.handleError(e); + } + }, null, null, null, function(e) + { + editorUi.spinner.stop(); + editorUi.handleError(e); + }, null, false, 1, true); + } + })); + + copyAsImage.isEnabled = function() + { + return editorUi.isExportToCanvas() && !editorUi.editor.graph.isSelectionEmpty(); + } + + var uiCreatePopupMenu = editorUi.menus.createPopupMenu; + editorUi.menus.createPopupMenu = function(menu, cell, evt) + { + uiCreatePopupMenu.apply(this, arguments); + + if (editorUi.isExportToCanvas() && !editorUi.editor.graph.isSelectionEmpty()) + { + this.addMenuItems(menu, ['-', 'copyAsImage'], null, evt); + } + }; } var appLoad = App.prototype.load; @@ -606,7 +654,15 @@ mxStencilRegistry.allowEval = false; var remote = electron.remote; var dialog = remote.dialog; - var paths = dialog.showOpenDialogSync({properties: ['openFile']}); + var paths = dialog.showOpenDialogSync({ + defaultPath: remote.app.getPath('documents'), + filters: [ + { name: 'draw.io Diagrams', extensions: ['drawio', 'xml'] }, + { name: 'VSDX Documents', extensions: ['vsdx'] }, + { name: 'All Files', extensions: ['*'] } + ], + properties: ['openFile'] + }); if (paths !== undefined && paths[0] != null) { @@ -1029,7 +1085,7 @@ mxStencilRegistry.allowEval = false; var remote = electron.remote; var dialog = remote.dialog; - var path = dialog.showSaveDialogSync({defaultPath: this.title}); + var path = dialog.showSaveDialogSync({defaultPath: remote.app.getPath('documents') + '/' + this.title}); if (path != null) { @@ -1065,7 +1121,7 @@ mxStencilRegistry.allowEval = false; filename += '.drawio'; } - var path = dialog.showSaveDialogSync({defaultPath: filename}); + var path = dialog.showSaveDialogSync({defaultPath: remote.app.getPath('documents') + '/' + filename}); if (path != null) { @@ -1436,7 +1492,7 @@ mxStencilRegistry.allowEval = false; // to give the spinner some time to stop spinning window.setTimeout(mxUtils.bind(this, function() { - var dlgConfig = {defaultPath: filename}; + var dlgConfig = {defaultPath: remote.app.getPath('documents') + '/' + filename}; var filters = null; switch (format) diff --git a/src/main/webapp/js/diagramly/Menus.js b/src/main/webapp/js/diagramly/Menus.js index b2c3c5fd8029af0e7f48504a5612bb88d70d38f1..4faeceef8bd00424455bb53b5614a2edf8e45605 100644 --- a/src/main/webapp/js/diagramly/Menus.js +++ b/src/main/webapp/js/diagramly/Menus.js @@ -3211,7 +3211,14 @@ // Overrides edit menu to add find and editGeometry this.put('edit', new Menu(mxUtils.bind(this, function(menu, parent) { - this.addMenuItems(menu, ['undo', 'redo', '-', 'cut', 'copy', 'paste', 'delete', '-', 'duplicate', '-', + this.addMenuItems(menu, ['undo', 'redo', '-', 'cut', 'copy']); + + if (mxIsElectron && editorUi.isExportToCanvas()) + { + this.addMenuItems(menu, ['copyAsImage']); + } + + this.addMenuItems(menu, ['paste', 'delete', '-', 'duplicate', '-', 'find', '-', 'editData', 'editTooltip', '-', 'editStyle', 'editGeometry', '-', 'edit', '-', 'editLink', 'openLink', '-', 'selectVertices', 'selectEdges', 'selectAll', 'selectNone', '-', 'lockUnlock']); diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js index c0722c44dc5475fcd96ae4a17f9122d5f04f3f39..52b79c067a5c7087f5bfcf881e2d741567b60ac3 100644 --- a/src/main/webapp/js/viewer.min.js +++ b/src/main/webapp/js/viewer.min.js @@ -3090,7 +3090,7 @@ b,a,a.getMode(),!0,!0,function(){null!=t&&null!=t.parentNode&&(t.parentNode.remo F(c,b)}mxEvent.consume(a)});mxEvent.addGestureListeners(q,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.first&&(p.graphHandler.suspend(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),q.style.backgroundColor="#f1f3f4",q.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(q.style.backgroundColor= "",q.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,B(a),mxEvent.consume(a))}));mxEvent.addListener(q,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.first&&(p.graphHandler.resume(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),q.style.backgroundColor="",q.style.cursor="",p.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(q,"dragover",mxUtils.bind(this, function(a){q.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";q.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"drop",mxUtils.bind(this,function(a){q.style.cursor="";q.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,g,f,n,l,u,z,y){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;aspect=fixed;image="+ -this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,n,l),c)],c[0].vertex=!0,F(c,new mxRectangle(0,0,n,l),a,mxEvent.isAltDown(a)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null);else{var x=!1,m=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var g=Editor.extractGraphModelFromPdf(c);null!=g&&0<g.length&&(d="text/xml",c=g)}if(null!=c&&"text/xml"==d)if(g=mxUtils.parseXml(c),"mxlibrary"==g.documentElement.nodeName)try{var f= +this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,n,l),c)],c[0].vertex=!0,F(c,new mxRectangle(0,0,n,l),a,mxEvent.isAltDown(a)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null);else{var x=!1,m=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var g=Editor.extractGraphModelFromPdf(c);null!=g&&0<g.length&&(c=g)}if(null!=c)if(g=mxUtils.parseXml(c),"mxlibrary"==g.documentElement.nodeName)try{var f= JSON.parse(mxUtils.getTextContent(g.documentElement));k(f,q);b=b.concat(f);A(a);this.spinner.stop();x=!0}catch(L){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),f=0;f<n.length;f++){var l=this.stringToCells(Editor.getDiagramNodeXml(n[f])),u=this.editor.graph.getBoundingBoxFromGeometry(l);F(l,new mxRectangle(0,0,u.width,u.height),a)}x=!0}catch(L){null!=window.console&&console.log("error in drop handler:",L)}x||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)});null!=y&&null!=u&&(/(\.v(dx|sdx?))($|\?)/i.test(u)||/(\.vs(x|sx?))($|\?)/i.test(u))?this.importVisio(y,function(a){m(a,"text/xml")},null,u):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,u)&&null!=y?this.parseFile(y,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?m(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status? "drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):m(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"dragleave",function(a){q.style.cursor="";q.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));z=z.cloneNode(!1);z.setAttribute("src",Editor.editImage);z.setAttribute("title",mxResources.get("edit"));l.insertBefore(z,l.firstChild);mxEvent.addListener(z,"click",v);mxEvent.addListener(q,"dblclick",function(a){mxEvent.getSource(a)== @@ -3557,7 +3557,7 @@ if(null!=P){this.tabContainer.style.right="70px";var E=v.addMenu("100%",P.funct) E.style.right="0px";E.style.bottom="0px";E.style.overflow="hidden";E.style.visibility="hidden";E.style.textAlign="center";E.style.color="#000";E.style.fontSize="12px";E.style.color="#707070";E.style.width="59px";E.style.cursor="pointer";E.style.borderTop="1px solid lightgray";E.style.borderLeft="1px solid lightgray";E.style.height=parseInt(l.tabContainerHeight)-1+"px";E.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";B.appendChild(E);P=mxUtils.bind(this,function(){E.innerHTML=Math.round(100* l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,P);l.editor.addListener("resetGraphView",P);l.editor.addListener("pageSelected",P);var D=l.setGraphEnabled;l.setGraphEnabled=function(){D.apply(this,arguments);null!=this.tabContainer&&(E.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}B.appendChild(l.tabContainer);B.appendChild(p);B.appendChild(l.diagramContainer); k.appendChild(B);l.updateTabContainer();var N=null;e();mxEvent.addListener(window,"resize",function(){e();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,f,d,l,m,p){this.file=a;this.id=b;this.content=f;this.modifiedDate=d;this.createdDate=l;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,f,d,l){b()};DrawioComment.prototype.editComment=function(a,b,f){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,f,d,l){this.id=a;this.email=b;this.displayName=f;this.pictureUrl=d;this.locale=l};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallDrawio=Install draw.io\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,f,d,l,m,p){this.file=a;this.id=b;this.content=f;this.modifiedDate=d;this.createdDate=l;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,f,d,l){b()};DrawioComment.prototype.editComment=function(a,b,f){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,f,d,l){this.id=a;this.email=b;this.displayName=f;this.pictureUrl=d;this.locale=l};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\nabout=About \naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\nselectDraft=Select a draft to continue editing:\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallDrawio=Install draw.io\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmermaid=Mermaid\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrawDiag=draw.io diagram\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\norgChartType=Org Chart Type\nlinear=Linear\nhanger2=Hanger 2\nhanger4=Hanger 4\nfishbone1=Fishbone 1\nfishbone2=Fishbone 2\n1ColumnLeft=Single Column Left\n1ColumnRight=Single Column Right\nsmart=Smart\nparentChildSpacing=Parent Child Spacing\nsiblingSpacing=Sibling Spacing\nconfNoPermErr=Sorry, you don\'t have enough permissions to view this embedded diagram from page {1}\ncopyAsImage=Copy as Image\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,f){this.init(a,b,f)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1; GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100; GraphViewer.prototype.init=function(a,b,f){this.graphConfig=null!=f?f:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?this.graphConfig.center:this.center;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!= diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt index 63fe74e3f5848ebeb4c634eed47bff060cb5c875..30a64dbfbd1fc1c0246f87409e605b641535a389 100644 --- a/src/main/webapp/resources/dia.txt +++ b/src/main/webapp/resources/dia.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt index aad6dee0b61c0b8fd0e177646f342bdbca50f1b8..ea76114dd7c3f0d33f9eeeccefef9e7ff3e35c66 100644 --- a/src/main/webapp/resources/dia_am.txt +++ b/src/main/webapp/resources/dia_am.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt index e5268f90de27c87455046c423c2d35cd72d4d06d..8f4f0d35fb0d38e788921849c5656cf08c2e6fe3 100644 --- a/src/main/webapp/resources/dia_ar.txt +++ b/src/main/webapp/resources/dia_ar.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt index 4d7da291bf83d0dae61e25dde0c533e4f1a51806..2ad0ddab29ac2b9ff8d7c5435e401ede3ed979c8 100644 --- a/src/main/webapp/resources/dia_bg.txt +++ b/src/main/webapp/resources/dia_bg.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt index 8e2374b2f0531204b202ea8766cceadfe32d084c..fb3c178a9f9c6006a93e8d872765e7b107194e59 100644 --- a/src/main/webapp/resources/dia_bn.txt +++ b/src/main/webapp/resources/dia_bn.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt index 4387e27116bd1d8255e830ccf16233952b30c893..cb3156ba6a02c31a0f4e0fb93b1066d5f18ecc13 100644 --- a/src/main/webapp/resources/dia_bs.txt +++ b/src/main/webapp/resources/dia_bs.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt index 146056171fb0d1f4261b01e8fb9475322ba5ab22..bbffb257d167bbf4a24d39b1482bc383d82470d8 100644 --- a/src/main/webapp/resources/dia_ca.txt +++ b/src/main/webapp/resources/dia_ca.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt index 2b7c3e95f2ec73d17c91b17dabde6ef94cb5d03e..6b386f76b3bc426e35031b6ab43dc01f7d62bc41 100644 --- a/src/main/webapp/resources/dia_cs.txt +++ b/src/main/webapp/resources/dia_cs.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt index 4638893e57284fa54cbde66aa0cc4e8c599300ec..e9768866974cefd1f0b265856fb50f4cb87ce1aa 100644 --- a/src/main/webapp/resources/dia_da.txt +++ b/src/main/webapp/resources/dia_da.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt index 1c7e283c15395e313db6becdcaad0a5f20051658..90f744b2e6f72c163e956ae4f08b79d5ad79b55e 100644 --- a/src/main/webapp/resources/dia_de.txt +++ b/src/main/webapp/resources/dia_de.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Vertikaler Abstand siblingSpacing=Horizontaler Abstand confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt index 117ac54201647bbbe40604ed470758a4fee7d555..6ddfd5aaa25599273adb76b9ee02de0abe6b42c4 100644 --- a/src/main/webapp/resources/dia_el.txt +++ b/src/main/webapp/resources/dia_el.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt index f69222fbc23badb522da723fba6f8bf358382ebb..ce35f871ae00e7b3f7bd356a90680916bea96cf3 100644 --- a/src/main/webapp/resources/dia_eo.txt +++ b/src/main/webapp/resources/dia_eo.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt index dd53b52b8f962c96dd048636ef97d5968f6d723f..092eea938554985d8fb0b8dc67241c331b135ba2 100644 --- a/src/main/webapp/resources/dia_es.txt +++ b/src/main/webapp/resources/dia_es.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_et.txt b/src/main/webapp/resources/dia_et.txt index 257601a9acfa9f1c9f4c7fcfca259e64abc2fc96..2a2bb93293453891193322f298c4522f7a2e5fd9 100644 --- a/src/main/webapp/resources/dia_et.txt +++ b/src/main/webapp/resources/dia_et.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt index a4a5628e7e00e2bbe15d85e3107e7b831158c134..2402d32ea161a34d2f313e4b65211450bba1d949 100644 --- a/src/main/webapp/resources/dia_fa.txt +++ b/src/main/webapp/resources/dia_fa.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt index 5ea1f392c35e822a7bd5d5441d7ed3f4eb9af0c8..547429433f4e5c75f7a9b334d8fe1e55877a1958 100644 --- a/src/main/webapp/resources/dia_fi.txt +++ b/src/main/webapp/resources/dia_fi.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt index 8fa71900234e2026e2dfd165800ab2fddfc65714..25e49b289708def84455676d3e447ff7a7a1d0f1 100644 --- a/src/main/webapp/resources/dia_fil.txt +++ b/src/main/webapp/resources/dia_fil.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt index 17ea626a395c5214329dddbffd972c200dbedb68..0b0ef9c0378b39c547c51ccab83cca508c76fced 100644 --- a/src/main/webapp/resources/dia_fr.txt +++ b/src/main/webapp/resources/dia_fr.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_gl.txt b/src/main/webapp/resources/dia_gl.txt index 1943a6f3fb1e39070578eab5225014d893724fa9..c0b98376a65031894a6efe4886189e6225dd51f5 100644 --- a/src/main/webapp/resources/dia_gl.txt +++ b/src/main/webapp/resources/dia_gl.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt index 8999eebdf2a485c46a8b5b66ff57ddc0440f2eb0..0703bfdde5f297ebc0c5fa70f782c4594ea28e1a 100644 --- a/src/main/webapp/resources/dia_gu.txt +++ b/src/main/webapp/resources/dia_gu.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt index d5875a041897c85b6fd20e55db3974d9f6a4ad7b..fa7320992ac648e83d528fce9411df7c227e65a5 100644 --- a/src/main/webapp/resources/dia_he.txt +++ b/src/main/webapp/resources/dia_he.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt index 45451960425a971b6bf962a5a02e4b4c2e088d53..0b80c78b9e13ccb14e60ec8d8a0ba68f53a6ce8e 100644 --- a/src/main/webapp/resources/dia_hi.txt +++ b/src/main/webapp/resources/dia_hi.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt index b519cd5449fdb98c7573d446a698ded08da9290c..0816adc9238e16caf0ddb10a18df655f82065f88 100644 --- a/src/main/webapp/resources/dia_hr.txt +++ b/src/main/webapp/resources/dia_hr.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt index 0bcfecd2ee24c26c720e7b62ea35e5ec5cbe01ac..125f440ca91496f5c0f56433d1e3b73b6ee9a2eb 100644 --- a/src/main/webapp/resources/dia_hu.txt +++ b/src/main/webapp/resources/dia_hu.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_i18n.txt b/src/main/webapp/resources/dia_i18n.txt index a280b0e736e75ce5501cd94cab66a0c17231d7f5..3bd19e669d1fdfe8cc288e7c6064ab26d76ae048 100644 --- a/src/main/webapp/resources/dia_i18n.txt +++ b/src/main/webapp/resources/dia_i18n.txt @@ -1009,3 +1009,4 @@ smart=smart parentChildSpacing=parentChildSpacing siblingSpacing=siblingSpacing confNoPermErr=confNoPermErr +copyAsImage=copyAsImage diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt index 4cae8aa36b5eaefb088123e1cf1bcf2499144136..5a951b22e154b63f015ef375ca33580751cd6c33 100644 --- a/src/main/webapp/resources/dia_id.txt +++ b/src/main/webapp/resources/dia_id.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt index 1f4c1954e99b2c4f3bcbe4901c1188e137c108a7..0013a0867e0ec8e7b5952b5c2c1597d28a1cd915 100644 --- a/src/main/webapp/resources/dia_it.txt +++ b/src/main/webapp/resources/dia_it.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt index f257e976d7466053b7378348ea10ab2276401275..2d6fdda834d29bc21d53c4d72fee6020a3319411 100644 --- a/src/main/webapp/resources/dia_ja.txt +++ b/src/main/webapp/resources/dia_ja.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt index d9a36c0c37aebeed4f41d1fc999bc8600ccb9fc1..11d84cd767e79408532914bceca1d9651826b871 100644 --- a/src/main/webapp/resources/dia_kn.txt +++ b/src/main/webapp/resources/dia_kn.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt index a9b1a881a3b73cb4021aee376603ab65b72fdad0..60ffe7e529896fb331bcd1c6d0f2209c79a4df73 100644 --- a/src/main/webapp/resources/dia_ko.txt +++ b/src/main/webapp/resources/dia_ko.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt index 5180b147dfee2b747aac7cb05f2a11870c8b42ee..fd97219c11474bbe32a018e92cde3902c4f8fe1f 100644 --- a/src/main/webapp/resources/dia_lt.txt +++ b/src/main/webapp/resources/dia_lt.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt index 524115919c7d28dc2ed9fb360a2729caae563fd5..d6a5027c85a27b8b59243d82c94a58a637b2ba3c 100644 --- a/src/main/webapp/resources/dia_lv.txt +++ b/src/main/webapp/resources/dia_lv.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt index 12ef89c52380e600423d43f75006178547d0e358..37dcdd53b3777c50b12bc8300f0c3052474fb10b 100644 --- a/src/main/webapp/resources/dia_ml.txt +++ b/src/main/webapp/resources/dia_ml.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt index f3daee1e1ac71a8a0fb3f5f4bce3baa145feafb7..78c60997090a28e7765f4ea6567636ba2fd2ed04 100644 --- a/src/main/webapp/resources/dia_mr.txt +++ b/src/main/webapp/resources/dia_mr.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt index 05d5e87373ac6eaec33063b54a7315ed93cb33b0..f3c9c73c57118acdb08bdd59f99d882eb4257c18 100644 --- a/src/main/webapp/resources/dia_ms.txt +++ b/src/main/webapp/resources/dia_ms.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_my.txt b/src/main/webapp/resources/dia_my.txt index 63fe74e3f5848ebeb4c634eed47bff060cb5c875..30a64dbfbd1fc1c0246f87409e605b641535a389 100644 --- a/src/main/webapp/resources/dia_my.txt +++ b/src/main/webapp/resources/dia_my.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_nl.txt b/src/main/webapp/resources/dia_nl.txt index 45073bd0ebc3650907b056ef84c0bcf57b5482dc..29683f2b9edac1c1b6ce874fa4191eb7593539a9 100644 --- a/src/main/webapp/resources/dia_nl.txt +++ b/src/main/webapp/resources/dia_nl.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt index 03cac7778cdaef52eefe8f29fd35e9c148042880..3b3674a6855682825a217a9368005d09a0c52bf4 100644 --- a/src/main/webapp/resources/dia_no.txt +++ b/src/main/webapp/resources/dia_no.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt index 0f97d8da06fe269dc789d60750fff6fbd792121d..b6ccdd6934f054106c6581878e7724e473a6fb21 100644 --- a/src/main/webapp/resources/dia_pl.txt +++ b/src/main/webapp/resources/dia_pl.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt index 674a56859e47ebe130baa14e746771f1fb7c64a2..506fcce8d09cb7baa9d407a60afc999f8e532942 100644 --- a/src/main/webapp/resources/dia_pt-br.txt +++ b/src/main/webapp/resources/dia_pt-br.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt index bdcb1c00fda63004be581608776dfc7355eb7710..7939054e2849f6100a0e61ea7880d664d4f7472e 100644 --- a/src/main/webapp/resources/dia_pt.txt +++ b/src/main/webapp/resources/dia_pt.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt index 59aa4f9858328f0294e60e6ae86e19d2b9b75bc1..b315c768bc2bd4fcb2c7d1155907c0d7b87556d7 100644 --- a/src/main/webapp/resources/dia_ro.txt +++ b/src/main/webapp/resources/dia_ro.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ru.txt b/src/main/webapp/resources/dia_ru.txt index 756b67d9eb6725307a78e8dcbfc36e37249bb8f7..7b3ab9b1ffbe328dadf10cad4d31a99919a32c57 100644 --- a/src/main/webapp/resources/dia_ru.txt +++ b/src/main/webapp/resources/dia_ru.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_si.txt b/src/main/webapp/resources/dia_si.txt index 63fe74e3f5848ebeb4c634eed47bff060cb5c875..30a64dbfbd1fc1c0246f87409e605b641535a389 100644 --- a/src/main/webapp/resources/dia_si.txt +++ b/src/main/webapp/resources/dia_si.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt index f17c8d6d1e1c9fb74f19c06fb84b40a10b38ea0f..b3719b9f6910da5dae7dbfb0e2821dfb406ff5e2 100644 --- a/src/main/webapp/resources/dia_sk.txt +++ b/src/main/webapp/resources/dia_sk.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt index b550228c42a0d8eee986e17a5338ded728c9996c..8de28cf59ace0492f5a2e3be394ac9c3e15ba659 100644 --- a/src/main/webapp/resources/dia_sl.txt +++ b/src/main/webapp/resources/dia_sl.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt index 6ac35b501a496561470448762512ae2c5f4916ff..164130f1c2191d8d88c4beced5c539c2c0492a02 100644 --- a/src/main/webapp/resources/dia_sr.txt +++ b/src/main/webapp/resources/dia_sr.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt index 22d4a06b17575ba265fb88aa89851ef4d8c5761a..44c7767e7c5aa00d662566dedbcc777184c3e447 100644 --- a/src/main/webapp/resources/dia_sv.txt +++ b/src/main/webapp/resources/dia_sv.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt index 2d426dca6974d8f839f5e937860b83a20c7092cd..625c64421aab2e004f2e7f989c0631e79f4810cd 100644 --- a/src/main/webapp/resources/dia_sw.txt +++ b/src/main/webapp/resources/dia_sw.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt index 8a0753e0d9846a1c13daa599db482a4d43788684..0dea15deb7ea0f0966347da0f712471ef51f7a1e 100644 --- a/src/main/webapp/resources/dia_ta.txt +++ b/src/main/webapp/resources/dia_ta.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt index 5d134be7bcaaea91ac539d8511d51319776f7645..2c56a535cec6af8169fe2eb06f7a7c0b743137ae 100644 --- a/src/main/webapp/resources/dia_te.txt +++ b/src/main/webapp/resources/dia_te.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt index 04347605976ff57a35e272036900e1980f7790f0..e6af0d84ac81ce1810b667311909e5c47cc89408 100644 --- a/src/main/webapp/resources/dia_th.txt +++ b/src/main/webapp/resources/dia_th.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt index c89e6ab0d1d42204324e859bdf6185e7c58960e0..8bfa4831297d504e5cdc75ccf4b7cc7ee6486fde 100644 --- a/src/main/webapp/resources/dia_tr.txt +++ b/src/main/webapp/resources/dia_tr.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_uk.txt b/src/main/webapp/resources/dia_uk.txt index 26241df9f444c320f116991204e02b4666d1fa85..8c7310e1c19e46ed1528dcb72deb31e7074671b7 100644 --- a/src/main/webapp/resources/dia_uk.txt +++ b/src/main/webapp/resources/dia_uk.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt index 7ba38ab5ad1e56bb89b82651cc6f0dcd6c11f3f9..20306e1ad558e2aaec3ec2b52d72142139eb9362 100644 --- a/src/main/webapp/resources/dia_vi.txt +++ b/src/main/webapp/resources/dia_vi.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt index e84b9d522a580b3b6067401572457a3fc8c52c70..b6fa92b770e7100da60b81bc5c68386493c4e2f2 100644 --- a/src/main/webapp/resources/dia_zh-tw.txt +++ b/src/main/webapp/resources/dia_zh-tw.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt index c5354990074fc62cae89e850f1d6ed587b4861f8..e82573d467a5b0d5d843865603b12ba6eaf82225 100644 --- a/src/main/webapp/resources/dia_zh.txt +++ b/src/main/webapp/resources/dia_zh.txt @@ -1009,3 +1009,4 @@ smart=Smart parentChildSpacing=Parent Child Spacing siblingSpacing=Sibling Spacing confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1} +copyAsImage=Copy as Image diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js index 4722a677626585db97c37d8472d3db3ae661e97f..4fa3203db1321696634f5a13fc9e487f31da3925 100644 --- a/src/main/webapp/service-worker.js +++ b/src/main/webapp/service-worker.js @@ -6,7 +6,7 @@ if (workbox) workbox.precaching.precacheAndRoute([ { "url": "js/app.min.js", - "revision": "184fb893b48ac4ce23752754c51cf60d" + "revision": "c739afb702a9c20aea3b73adafdb17e8" }, { "url": "js/extensions.min.js", @@ -14,7 +14,7 @@ if (workbox) }, { "url": "js/diagramly/ElectronApp.js", - "revision": "589bd3c8cf3107a71286adf2db71b4d2" + "revision": "3b3392fee63dbb57d9938087c1c2febe" }, { "url": "js/stencils.min.js", @@ -54,227 +54,227 @@ if (workbox) }, { "url": "resources/dia.txt", - "revision": "a1c5a4d14096b730028f498176f08f7e" + "revision": "0000ea515861d492ecb72b6918cada9b" }, { "url": "resources/dia_cs.txt", - "revision": "94e07a2822e6ef0a1a24919f681e2f46" + "revision": "8c88fef0a411e663b6768805c0c8ff91" }, { "url": "resources/dia_my.txt", - "revision": "a1c5a4d14096b730028f498176f08f7e" + "revision": "0000ea515861d492ecb72b6918cada9b" }, { "url": "resources/dia_am.txt", - "revision": "f14a3f890f8b72daca2ed4e6bd6512e8" + "revision": "7f80c025aa70a1cce8a369c6bf25e4ae" }, { "url": "resources/dia_ml.txt", - "revision": "c44f4bb7a61d69ca8b61cd8db913d641" + "revision": "30b8a69088a3215b52ed9d870b2731b8" }, { "url": "resources/dia_uk.txt", - "revision": "af6f171ebb43002943a90bb81361980f" + "revision": "ff41d15f846a29b65e186ea6a3ab83ca" }, { "url": "resources/dia_bg.txt", - "revision": "f8efce7244b17ee16a1c328b134f44e7" + "revision": "e44677eea89592064c84749b36c2ce95" }, { "url": "resources/dia_ca.txt", - "revision": "35aa94c327195771a50ee63cd0bbc1f8" + "revision": "843fe3b317725aaac2a0242d43ce07df" }, { "url": "resources/dia_th.txt", - "revision": "fd5b4bacb00ea272da79c523915e95d5" + "revision": "86b225a8c59aa872ae95774e3fd558c6" }, { "url": "resources/dia_bs.txt", - "revision": "c9efd946cab6038db919287bbf5dcb52" + "revision": "8ae9f33011bc1504264ab3b564bd3b6b" }, { "url": "resources/dia_id.txt", - "revision": "f4e6be9931d9330f7469cbb5aa9aaa1b" + "revision": "a739902c0d78700ddaf5f2fcfe9b4996" }, { "url": "resources/dia_sk.txt", - "revision": "7b15bc44ec635510d2b35fbf5c9d93f6" + "revision": "60741888ca8d01f9b5ff373e21f64290" }, { "url": "resources/dia_ro.txt", - "revision": "264177b887583d5032cab8d33c9c5964" + "revision": "a4e649d5b5ecd03a77351785bb88502c" }, { "url": "resources/dia_gl.txt", - "revision": "3dd01e023564827ece6ff847482b773f" + "revision": "575505ec3cd43bd30252f9a4440ae37d" }, { "url": "resources/dia_es.txt", - "revision": "87c1f2d3b1bd4a3f864db272e7139a6d" + "revision": "076999c104c8185ce98e17f3c983aad5" }, { "url": "resources/dia_ko.txt", - "revision": "6cbee414ac12c42ee45ba0c48755b40a" + "revision": "b9dac896d4bba3488a511da72362415c" }, { "url": "resources/dia_si.txt", - "revision": "a1c5a4d14096b730028f498176f08f7e" + "revision": "0000ea515861d492ecb72b6918cada9b" }, { "url": "resources/dia_kn.txt", - "revision": "c325e2e2c101228ceb2478d8a3a143e3" + "revision": "9b386dedb71d3bab69135294e019247b" }, { "url": "resources/dia_hu.txt", - "revision": "0cdd4386e6b51aa4c8bdc52fb5c8ab92" + "revision": "ea0e4807516a09e2139fa642e8306979" }, { "url": "resources/dia_fi.txt", - "revision": "94596a7c043e004340dcb511c23e1804" + "revision": "21040a91304e4dcaaacee1e8fbe580f1" }, { "url": "resources/dia_da.txt", - "revision": "644bd965290ec6ac8a4b922c6d36f99a" + "revision": "52c5e26b38aed6530988d3599c51a488" }, { "url": "resources/dia_de.txt", - "revision": "55e2c43a5d460409522b6602be122772" + "revision": "92e190dd74963ea87a40863f82cd2c92" }, { "url": "resources/dia_sl.txt", - "revision": "4cc72ba71d32b565d7e3e148c8010f2d" + "revision": "5621b0f57cc5f5471bb83195c4ea16dc" }, { "url": "resources/dia_it.txt", - "revision": "4033b75570eaca0f2e0b8d9f8aae0b40" + "revision": "461cf188df25b104a042e387217d35d4" }, { "url": "resources/dia_hr.txt", - "revision": "51dbcbc5fbdd5c9fbdd72dca6fd05616" + "revision": "c17c53c1e49e68c5657be2fb6b79d913" }, { "url": "resources/dia_he.txt", - "revision": "06ddca532bed3823eeef623940cc66bd" + "revision": "cbdb0a7f7400526afccdf79e729e305b" }, { "url": "resources/dia_pt.txt", - "revision": "8b4a368ce08bb9b69e9ccf18a47ad342" + "revision": "b551e6921822ba62594716f474bba1bc" }, { "url": "resources/dia_zh-tw.txt", - "revision": "58ee29fa12705db0e7b4cff45f6d1d4c" + "revision": "92edbd644d5a0fea8c5ce3cc6fc1404e" }, { "url": "resources/dia_et.txt", - "revision": "9ea6c94f0e27956d0d095e32bda72554" + "revision": "707790727525e027df29d8c682235eaa" }, { "url": "resources/dia_ja.txt", - "revision": "700d4d49447015c47028f73c0a29ab42" + "revision": "f062f477fc3f25690ff3bf278d0fd916" }, { "url": "resources/dia_hi.txt", - "revision": "17e69099197dbd43dbc2dea6633b281a" + "revision": "126a4d96a6639a9eda82b362f368e3d6" }, { "url": "resources/dia_eo.txt", - "revision": "88bf8f57268796262fd7184ae98daa8f" + "revision": "a486b8d02497898de973eeb29dcd954d" }, { "url": "resources/dia_fa.txt", - "revision": "3c18995d0c8160ac5517e0702f743a60" + "revision": "531ca17703fa18590357d4bd5abf717c" }, { "url": "resources/dia_sw.txt", - "revision": "5b6f23e518cd7f01a910c4957da5bf6f" + "revision": "e4f42ea170d0e77666f1912ee26af2e5" }, { "url": "resources/dia_pl.txt", - "revision": "4763ca00e0734045c3ef81d827bd7bb5" + "revision": "d67b5e069c654ed98f1231fe392b373b" }, { "url": "resources/dia_pt-br.txt", - "revision": "3e7ebabd36a7ab5da037eec467c9c3e6" + "revision": "5f3bb54f5d5be1b2675a96149c7e717d" }, { "url": "resources/dia_sv.txt", - "revision": "3ab8effb061fff5d560f0ca983a22e19" + "revision": "311743ef516cdc20ae936444929e1917" }, { "url": "resources/dia_el.txt", - "revision": "54545ce9165bb36775ae3cd8a79c5c87" + "revision": "70f459e9f1f8bbef6eeed9525d4ec88d" }, { "url": "resources/dia_sr.txt", - "revision": "bc97b517815ac3f8f1d9e7f9b6ad7a41" + "revision": "155a48607cda3abcf6b2145121aedb1a" }, { "url": "resources/dia_fr.txt", - "revision": "09d6f56a8bec90f4138a66eb49e2f39f" + "revision": "8b6301cbc8c1c6de7b76070beaf26d49" }, { "url": "resources/dia_ru.txt", - "revision": "4ece1610fe891e055001fdd1dd0516f5" + "revision": "b350df1f17b1fa1d25f53d324bfeda3c" }, { "url": "resources/dia_gu.txt", - "revision": "1469934746d924fe6cecfba70421e9ff" + "revision": "9d030e2fc565fb7fdeb9436c53a5ef3d" }, { "url": "resources/dia_ar.txt", - "revision": "f875039b28724265a9db7e088560e34d" + "revision": "fb572e536c28337f7702759558fe9830" }, { "url": "resources/dia_tr.txt", - "revision": "71a21d373e69f79ff95d70f062b46bdb" + "revision": "fa7f9a7223958375f9d5f8343dd3f2c2" }, { "url": "resources/dia_te.txt", - "revision": "c787ab641a91873d92c6732978055a0e" + "revision": "13ec1cc41d73d5bee70fdb7f7631c847" }, { "url": "resources/dia_lt.txt", - "revision": "623cf7dddb58e425a73d26b4300b7d20" + "revision": "1e46309c5eeda2ff07704ae09c8aa8c6" }, { "url": "resources/dia_lv.txt", - "revision": "2a6fd50dd0c79a95368b82d33148a928" + "revision": "783c2b966968e478f463fe9756e5c30c" }, { "url": "resources/dia_mr.txt", - "revision": "939d867c2f49aad06c95cdd3c893f3dc" + "revision": "acb6f8bac0a8eeea42a6a2bc879369da" }, { "url": "resources/dia_ms.txt", - "revision": "3e48439795dcb80d156c30ea4e131a04" + "revision": "539cef49a14b6f9a18ad09e22065728e" }, { "url": "resources/dia_nl.txt", - "revision": "fadc2b81bd442f766cec6119dc21e0a9" + "revision": "9665b0d05498edb80f172cda95c5867f" }, { "url": "resources/dia_fil.txt", - "revision": "4f5104acb834b20406dcb8812dc80cd3" + "revision": "dadb9964c3f1dcde75573e717f608582" }, { "url": "resources/dia_zh.txt", - "revision": "855f330460adbd553559f27ddb30e707" + "revision": "9fe7993077487f59faae0f35bf7d1844" }, { "url": "resources/dia_bn.txt", - "revision": "cc554c65a4c1f8ec9f73b8c9dc132c3b" + "revision": "818f351d7f6b5fec1375a83481536845" }, { "url": "resources/dia_no.txt", - "revision": "e5b037d3d9d90710eee7aeb1eb6e9bfe" + "revision": "069359dfd7f7054450c4bce369f56df1" }, { "url": "resources/dia_vi.txt", - "revision": "dbf687fe115ba5a26d36fd7bb450b119" + "revision": "65dc37855ef176b02d452525c9298538" }, { "url": "resources/dia_ta.txt", - "revision": "42936ec2dbbe033d0eaebcd9153b941c" + "revision": "c4e88cd8b06a95fe7c073397ae70cb67" }, { "url": "favicon.ico",