From 0ecca4c5e469a1950f4e4866126e52e0ded79240 Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Thu, 23 Apr 2026 08:58:08 +0200 Subject: [PATCH] fix(map): disable resize handles on Centreon link edges (#MON-190970) The backend does not persist geometry changes for edges (width/height are only extracted for vertices), so resize modifications in the editor are silently lost on save. - Skip custom handles in createCustomHandles for Centreon links - Hide Width input in Format panel for Centreon link edges --- src/main/webapp/js/app.min.js | 284 +++++++++++------------ src/main/webapp/js/grapheditor/Format.js | 3 +- src/main/webapp/js/grapheditor/Shapes.js | 7 + src/main/webapp/js/integrate.min.js | 284 +++++++++++------------ src/main/webapp/js/viewer-static.min.js | 108 ++++----- src/main/webapp/js/viewer.min.js | 108 ++++----- 6 files changed, 401 insertions(+), 393 deletions(-) diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 765a566168..e92e909acd 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -2010,12 +2010,12 @@ Editor.prototype.setFilename=function(a){this.filename=a}; Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(e,g){b.undoableEditHappened(g.getProperty("edit"))};var f=mxUtils.bind(this,function(e,g){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,f);a.getView().addListener(mxEvent.UNDO,f);f=function(e,g){e=a.getSelectionCellsForChanges(g.getProperty("edit").changes,function(m){return!(m instanceof mxChildChange)});if(0T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage), -d.setAttribute("title",mxResources.get("close")),d.className="geDialogClose",d.style.top=S+14+"px",d.style.left=O+f+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!q)){var P=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(ba){P=!0}),null,mxUtils.bind(this,function(ba){P&&(a.hideDialog(!0),P=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var ba=k(); -null!=ba&&(B=f=ba.w,C=e=ba.h)}ba=mxUtils.getDocumentSize();F=ba.height;this.bg.style.height=F+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px");O=Math.max(1,Math.round((ba.width-f-E)/2));S=Math.max(1,Math.round((F-e-a.footerHeight)/3));f=null!=document.body?Math.min(B,document.body.scrollWidth-E):B;e=Math.min(C,F-E);ba=this.getPosition(O,S,f,e);O=ba.x;S=ba.y;T.style.left=O+"px";T.style.top=S+"px";T.style.width=f+"px";T.style.height=e+ -"px";!n&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=S+14+"px",this.dialogImg.style.left=O+f+38-x+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=m;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; +function Dialog(a,b,f,e,g,d,m,n,t,k,q){var x=t?57:0,B=f,C=e,E=t?0:64,I=Editor.inlineFullscreen||null==a.embedViewport?mxUtils.getDocumentSize():mxUtils.clone(a.embedViewport);null==a.embedViewport&&null!=window.innerHeight&&(I.height=window.innerHeight);var F=I.height,O=Math.max(1,Math.round((I.width-f-E)/2)),T=Math.max(1,Math.round((F-e-a.footerHeight)/3));b.style.maxHeight="100%";f=null!=document.body?Math.min(f,document.body.scrollWidth-E):f;e=Math.min(e,F-E);0S.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage), +d.setAttribute("title",mxResources.get("close")),d.className="geDialogClose",d.style.top=T+14+"px",d.style.left=O+f+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!q)){var P=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(ba){P=!0}),null,mxUtils.bind(this,function(ba){P&&(a.hideDialog(!0),P=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var ba=k(); +null!=ba&&(B=f=ba.w,C=e=ba.h)}ba=mxUtils.getDocumentSize();F=ba.height;this.bg.style.height=F+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px");O=Math.max(1,Math.round((ba.width-f-E)/2));T=Math.max(1,Math.round((F-e-a.footerHeight)/3));f=null!=document.body?Math.min(B,document.body.scrollWidth-E):B;e=Math.min(C,F-E);ba=this.getPosition(O,T,f,e);O=ba.x;T=ba.y;S.style.left=O+"px";S.style.top=T+"px";S.style.width=f+"px";S.style.height=e+ +"px";!n&&b.clientHeight>S.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=T+14+"px",this.dialogImg.style.left=O+f+38-x+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=m;this.container=S;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKAIABAMDAwP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUIzOEM1NzI4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUIzOEM1NzM4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QjM4QzU3MDg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QjM4QzU3MTg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAANAAoAAAIXTGCJebD9jEOTqRlttXdrB32PJ2ncyRQAOw==":IMAGE_PATH+ @@ -2024,8 +2024,8 @@ Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onD var ErrorDialog=function(a,b,f,e,g,d,m,n,t,k,q){t=null!=t?t:!0;var x=document.createElement("div");x.style.textAlign="center";if(null!=b){var B=document.createElement("div");B.style.padding="0px";B.style.margin="0px";B.style.fontSize="18px";B.style.paddingBottom="16px";B.style.marginBottom="10px";B.style.borderBottom="1px solid #c0c0c0";B.style.color="gray";B.style.whiteSpace="nowrap";B.style.textOverflow="ellipsis";B.style.overflow="hidden";mxUtils.write(B,b);B.setAttribute("title",b);x.appendChild(B)}b= document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=f;x.appendChild(b);f=document.createElement("div");f.style.marginTop="12px";f.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",f.appendChild(b),f.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=q&&q()}),k.className="geBtn",f.appendChild(k));var C=mxUtils.button(e,function(){t&&a.hideDialog();null!=g&&g()}); C.className="geBtn";f.appendChild(C);null!=m&&(e=mxUtils.button(m,function(){t&&a.hideDialog();null!=n&&n()}),e.className="geBtn gePrimaryBtn",f.appendChild(e));this.init=function(){C.focus()};x.appendChild(f);this.container=x},PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(C){var E=m.checked||k.checked,I=parseInt(x.value)/100;isNaN(I)&&(I=1,x.value="100%");I*=.75;var F=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,O=1/f.pageScale;if(E){var S=m.checked?1:parseInt(q.value);isNaN(S)||(O=mxUtils.getScaleForPageCount(S,f,F))}f.getGraphBounds();var T=S=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*I);F.height=Math.ceil(F.height*I);O*=I;!E&&f.pageVisible?(I=f.getPageLayout(),S-=I.x*F.width,T-=I.y*F.height): -E=!0;E=PrintDialog.createPrintPreview(f,O,F,0,S,T,E);E.open();C&&PrintDialog.printPreview(E)}var f=a.editor.graph,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var m=document.createElement("input");m.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(m);var t=document.createElement("span");mxUtils.write(t," "+mxResources.get("fitPage")); +PrintDialog.prototype.create=function(a){function b(C){var E=m.checked||k.checked,I=parseInt(x.value)/100;isNaN(I)&&(I=1,x.value="100%");I*=.75;var F=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,O=1/f.pageScale;if(E){var T=m.checked?1:parseInt(q.value);isNaN(T)||(O=mxUtils.getScaleForPageCount(T,f,F))}f.getGraphBounds();var S=T=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*I);F.height=Math.ceil(F.height*I);O*=I;!E&&f.pageVisible?(I=f.getPageLayout(),T-=I.x*F.width,S-=I.y*F.height): +E=!0;E=PrintDialog.createPrintPreview(f,O,F,0,T,S,E);E.open();C&&PrintDialog.printPreview(E)}var f=a.editor.graph,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var m=document.createElement("input");m.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(m);var t=document.createElement("span");mxUtils.write(t," "+mxResources.get("fitPage")); n.appendChild(t);mxEvent.addListener(t,"click",function(C){m.checked=!m.checked;k.checked=!m.checked;mxEvent.consume(C)});mxEvent.addListener(m,"change",function(){k.checked=!m.checked});d.appendChild(n);g.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(k);t=document.createElement("span");mxUtils.write(t," "+mxResources.get("posterPrint")+":");n.appendChild(t);mxEvent.addListener(t, "click",function(C){k.checked=!k.checked;m.checked=!k.checked;mxEvent.consume(C)});d.appendChild(n);var q=document.createElement("input");q.setAttribute("value","1");q.setAttribute("type","number");q.setAttribute("min","1");q.setAttribute("size","4");q.setAttribute("disabled","disabled");q.style.width="50px";n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(q);mxUtils.write(n," "+mxResources.get("pages")+" (max)");d.appendChild(n);g.appendChild(d);mxEvent.addListener(k,"change", function(){k.checked?q.removeAttribute("disabled"):q.setAttribute("disabled","disabled");m.checked=!k.checked});d=d.cloneNode(!1);n=document.createElement("td");mxUtils.write(n,mxResources.get("pageScale")+":");d.appendChild(n);n=document.createElement("td");var x=document.createElement("input");x.setAttribute("value","100 %");x.setAttribute("size","5");x.style.width="50px";n.appendChild(x);d.appendChild(n);g.appendChild(d);d=document.createElement("tr");n=document.createElement("td");n.colSpan=2; @@ -2040,23 +2040,23 @@ d.appendChild(m);m=document.createElement("td");var k=document.createElement("bu q.style.width="64px";q.style.cursor="pointer";q.style.padding="4px";var x=f.backgroundImage,B=f.background,C=function(E){a.showBackgroundImageDialog(function(I,F,O){F||(null!=I&&null!=I.src&&Graph.isPageLink(I.src)&&(I={originalSrc:I.src}),x=I);B=O;b()},x,B);mxEvent.consume(E)};mxEvent.addListener(k,"click",C);mxEvent.addListener(q,"click",C);b();m.appendChild(q);m.appendChild(k);d.appendChild(m);g.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop= "16px";m.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&m.appendChild(k);C=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var E=parseInt(t.value);isNaN(E)||f.gridSize===E||f.setGridSize(E);E=new ChangePageSetup(a,B,x,n.get());E.ignoreColor=f.background==B;E.ignoreImage=(null!=f.backgroundImage?f.backgroundImage.src:null)===(null!=x?x.src:null);f.pageFormat.width==E.previousFormat.width&& f.pageFormat.height==E.previousFormat.height&&E.ignoreColor&&E.ignoreImage||f.model.execute(E)});C.className="geBtn gePrimaryBtn";m.appendChild(C);a.editor.cancelFirst||m.appendChild(k);d.appendChild(m);g.appendChild(d);e.appendChild(g);this.container=e}; -PageSetupDialog.addPageFormatPanel=function(a,b,f,e){function g(ba,U,R){if(R||x!=document.activeElement&&B!=document.activeElement){ba=!1;for(U=0;U=ba)x.value=f.width/100;ba=parseFloat(B.value);if(isNaN(ba)||0>=ba)B.value=f.height/100;ba=new mxRectangle(0,0,Math.floor(100*parseFloat(x.value)), -Math.floor(100*parseFloat(B.value)));"custom"!=n.value&&m.checked&&(ba=new mxRectangle(0,0,ba.height,ba.width));U&&S||ba.width==T.width&&ba.height==T.height||(T=ba,null!=e&&e(T))};mxEvent.addListener(b,"click",function(ba){d.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(k,"click",function(ba){m.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(x,"blur",P);mxEvent.addListener(x,"click",P);mxEvent.addListener(B,"blur",P);mxEvent.addListener(B,"click",P);mxEvent.addListener(m,"change", -P);mxEvent.addListener(d,"change",P);mxEvent.addListener(n,"change",function(ba){S="custom"==n.value;P(ba,!0)});P();return{set:function(ba){f=ba;g(null,null,!0)},get:function(){return T},widthInput:x,heightInput:B}}; +F.key);mxUtils.write(O,F.title);n.appendChild(O)}var T=!1;g();a.appendChild(n);mxUtils.br(a);a.appendChild(t);a.appendChild(q);var S=f,P=function(ba,U){ba=C[n.value];null!=ba.format?(x.value=ba.format.width/100,B.value=ba.format.height/100,q.style.display="none",t.style.display=""):(t.style.display="none",q.style.display="");ba=parseFloat(x.value);if(isNaN(ba)||0>=ba)x.value=f.width/100;ba=parseFloat(B.value);if(isNaN(ba)||0>=ba)B.value=f.height/100;ba=new mxRectangle(0,0,Math.floor(100*parseFloat(x.value)), +Math.floor(100*parseFloat(B.value)));"custom"!=n.value&&m.checked&&(ba=new mxRectangle(0,0,ba.height,ba.width));U&&T||ba.width==S.width&&ba.height==S.height||(S=ba,null!=e&&e(S))};mxEvent.addListener(b,"click",function(ba){d.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(k,"click",function(ba){m.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(x,"blur",P);mxEvent.addListener(x,"click",P);mxEvent.addListener(B,"blur",P);mxEvent.addListener(B,"click",P);mxEvent.addListener(m,"change", +P);mxEvent.addListener(d,"change",P);mxEvent.addListener(n,"change",function(ba){T="custom"==n.value;P(ba,!0)});P();return{set:function(ba){f=ba;g(null,null,!0)},get:function(){return S},widthInput:x,heightInput:B}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]}; var FilenameDialog=function(a,b,f,e,g,d,m,n,t,k,q,x,B){t=null!=t?t:!0;var C=document.createElement("table"),E=document.createElement("tbody");C.style.position="absolute";C.style.top="30px";C.style.left="20px";var I=document.createElement("tr");var F=document.createElement("td");F.style.textOverflow="ellipsis";F.style.textAlign="right";F.style.maxWidth=(B?B+15:100)+"px";F.style.fontSize="10pt";F.style.width=(B?B:84)+"px";mxUtils.write(F,(g||mxResources.get("filename"))+":");I.appendChild(F);var O= -document.createElement("input");O.setAttribute("value",b||"");O.style.marginLeft="4px";O.style.width=null!=x?x+"px":"180px";var S=mxUtils.button(f,function(){if(null==d||d(O.value))t&&a.hideDialog(),e(O.value)});S.className="geBtn gePrimaryBtn";this.init=function(){if(null!=g||null==m)if(O.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?O.select():document.execCommand("selectAll",!1,null),Graph.fileSupport){var T=C.parentNode;if(null!=T){var P=null;mxEvent.addListener(T,"dragleave", -function(ba){null!=P&&(P.style.backgroundColor="",P=null);ba.stopPropagation();ba.preventDefault()});mxEvent.addListener(T,"dragover",mxUtils.bind(this,function(ba){null==P&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(m,n){a.apply(this,arguments);if(null!=this.shiftPreview1){var t=this.view.canvas;null!=t.ownerSVGElement&&(t=t.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x* this.view.scale+m,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+n,k))+"px";t.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(m,n,t){var k=this.view.scale,q=this.view.translate,x=this.pageFormat,B=k*this.pageScale,C=this.view.getBackgroundPageBounds();n=C.width;t=C.height;var E=new mxRectangle(k*q.x,k*q.y,x.width*B,x.height*B),I=(m=m&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(t/E.height)-1:0,F=m?Math.ceil(n/E.width)-1:0,O=C.x+n, -S=C.y+t;null==this.horizontalPageBreaks&&0document.documentMode)?mxEvent.addListener(this.diagramContainer, "contextmenu",b):this.diagramContainer.oncontextmenu=b):e.panningHandler.usePopupTrigger=!1;e.init(this.diagramContainer);mxClient.IS_SVG&&null!=e.view.getDrawPane()&&(b=e.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=e.graphHandler){var I=e.graphHandler.start;e.graphHandler.start=function(){null!=da.hoverIcons&&da.hoverIcons.reset();I.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this, function(N){var Q=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,N)&&(N.parentNode.removeChild(N),Q.push(N));N=K}N=this.toolbar.fontMenu;K=this.toolbar.sizeMenu;if(null==X)this.toolbar.createTextToolbar();else{for(var ca=0;caia&&null!=Ca&&!mxEvent.isShiftDown(Ia)&&(mxUtils.getValue(Ca.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(Fa,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ca.style, -mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ca.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ca.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(Fa,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ca)&&(ja.model.isVertex(Ca.cell)&&null!=q||ja.model.isEdge(Ca.cell)&&ja.model.isEdge(e[0]))){if(ja.isCellEditable(Ca.cell)){S= -Ca;var qa=ja.model.isEdge(Ca.cell)?ja.view.getPoint(Ca):new mxPoint(Ca.getCenterX(),Ca.getCenterY());qa=new mxRectangle(qa.x-this.refreshTarget.width/2,qa.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);X.style.left=Math.floor(qa.x)+"px";X.style.top=Math.floor(qa.y)+"px";null==Y&&(ja.container.appendChild(X),Y=X.parentNode);m(xa,ya,qa,X)}}else null==S||!mxUtils.contains(S,xa,ya)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ca)&&(ja.model.isVertex(Ca.cell)&&null!=q||ja.model.isEdge(Ca.cell)&&ja.model.isEdge(e[0]))){if(ja.isCellEditable(Ca.cell)){T= +Ca;var qa=ja.model.isEdge(Ca.cell)?ja.view.getPoint(Ca):new mxPoint(Ca.getCenterX(),Ca.getCenterY());qa=new mxRectangle(qa.x-this.refreshTarget.width/2,qa.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);X.style.left=Math.floor(qa.x)+"px";X.style.top=Math.floor(qa.y)+"px";null==Y&&(ja.container.appendChild(X),Y=X.parentNode);m(xa,ya,qa,X)}}else null==T||!mxUtils.contains(T,xa,ya)||1500ia&&ia>this.dropTargetDelay||ja.model.isEdge(Ja)?Ca:null,null!=F&&qa){ta=[da,la,P,ba,U,R];for(qa=0;qaia&&ia>this.dropTargetDelay||ja.model.isEdge(Ja)?Ca:null,null!=F&&qa){ta=[da,la,P,ba,U,R];for(qa=0;qaB?"a":"p",tt:12>B?"am":"pm",T:12>B?"A":"P",TT:12>B?"AM":"PM",Z:f?"UTC":(String(a).match(g)||[""]).pop().replace(d,""),o:(0I||Math.abs(P.y-S.y)>I)&&(Math.abs(P.x-O.x)>I||Math.abs(P.y-O.y)>I)&&(Math.abs(P.x-Y.x)>I||Math.abs(P.y-Y.y)>I)&&(Math.abs(P.x-X.x)>I||Math.abs(P.y-X.y)>I)){X=P.x-S.x;Y=P.y-S.y;P={distSq:X*X+Y*Y,x:P.x,y:P.y};for(X=0;XP.distSq){T.splice(X,0,P);P=null;break}null==P||0!=T.length&&T[T.length-1].x===P.x&&T[T.length-1].y===P.y||T.push(P)}}}for(U=0;U< -T.length;U++)B=E(1,T[U].x,T[U].y)||B}P=x[x.length-1];B=E(0,P.x,P.y)||B}q.routedPoints=C;return B}return!1};var d=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(q,x,B){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)d.apply(this,arguments);else{var C=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,E=(parseInt(mxUtils.getValue(this.style, -"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,I=mxUtils.getValue(this.style,"jumpStyle","none"),F=!0,O=null,S=null,T=[],P=null;q.begin();for(var ba=0;baE*E&&0E*E&&(X=new mxPoint(R.x-P.x,R.y-P.y),U=new mxPoint(R.x+P.x,R.y+P.y),T.push(X),this.addPoints(q,T,B,C,!1,null,F),T=0>Math.round(P.x)||0==Math.round(P.x)&&0>=Math.round(P.y)?1:-1,F=!1,"sharp"==I?(q.lineTo(X.x-P.y*T,X.y+P.x*T),q.lineTo(U.x-P.y*T,U.y+P.x*T),q.lineTo(U.x,U.y)):"line"==I?(q.moveTo(X.x+P.y*T,X.y-P.x*T),q.lineTo(X.x-P.y*T,X.y+P.x*T),q.moveTo(U.x-P.y*T,U.y+P.x*T),q.lineTo(U.x+ -P.y*T,U.y-P.x*T),q.moveTo(U.x,U.y)):"arc"==I?(T*=1.3,q.curveTo(X.x-P.y*T,X.y+P.x*T,U.x-P.y*T,U.y+P.x*T,U.x,U.y)):(q.moveTo(U.x,U.y),F=!0),T=[U],X=!0))}else P=null;X||(T.push(R),O=R)}this.addPoints(q,T,B,C,!1,null,F);q.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(q,x,B,C){return null!=x&&"centerPerimeter"==x.style[mxConstants.STYLE_PERIMETER]?new mxPoint(x.getCenterX(),x.getCenterY()):m.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint; -mxGraphView.prototype.updateFloatingTerminalPoint=function(q,x,B,C){if(null==x||null==q||"1"!=x.style.snapToPoint&&"1"!=q.style.snapToPoint)n.apply(this,arguments);else{x=this.getTerminalPort(q,x,C);var E=this.getNextPoint(q,B,C),I=this.graph.isOrthogonal(q),F=mxUtils.toRadians(Number(x.style[mxConstants.STYLE_ROTATION]||"0")),O=new mxPoint(x.getCenterX(),x.getCenterY());if(0!=F){var S=Math.cos(-F),T=Math.sin(-F);E=mxUtils.getRotatedPoint(E,S,T,O)}S=parseFloat(q.style[mxConstants.STYLE_PERIMETER_SPACING]|| -0);S+=parseFloat(q.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);E=this.getPerimeterPoint(x,E,0==F&&I,S);0!=F&&(S=Math.cos(F),T=Math.sin(F),E=mxUtils.getRotatedPoint(E,S,T,O));q.setAbsoluteTerminalPoint(this.snapToAnchorPoint(q,x,B,C,E),C)}};mxGraphView.prototype.snapToAnchorPoint=function(q,x,B,C,E){if(null!=x&&null!=q){q=this.graph.getAllConnectionConstraints(x);C=B=null;if(null!=q)for(var I=0;II||Math.abs(P.y-T.y)>I)&&(Math.abs(P.x-O.x)>I||Math.abs(P.y-O.y)>I)&&(Math.abs(P.x-Y.x)>I||Math.abs(P.y-Y.y)>I)&&(Math.abs(P.x-X.x)>I||Math.abs(P.y-X.y)>I)){X=P.x-T.x;Y=P.y-T.y;P={distSq:X*X+Y*Y,x:P.x,y:P.y};for(X=0;XP.distSq){S.splice(X,0,P);P=null;break}null==P||0!=S.length&&S[S.length-1].x===P.x&&S[S.length-1].y===P.y||S.push(P)}}}for(U=0;U< +S.length;U++)B=E(1,S[U].x,S[U].y)||B}P=x[x.length-1];B=E(0,P.x,P.y)||B}q.routedPoints=C;return B}return!1};var d=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(q,x,B){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)d.apply(this,arguments);else{var C=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,E=(parseInt(mxUtils.getValue(this.style, +"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,I=mxUtils.getValue(this.style,"jumpStyle","none"),F=!0,O=null,T=null,S=[],P=null;q.begin();for(var ba=0;baE*E&&0E*E&&(X=new mxPoint(R.x-P.x,R.y-P.y),U=new mxPoint(R.x+P.x,R.y+P.y),S.push(X),this.addPoints(q,S,B,C,!1,null,F),S=0>Math.round(P.x)||0==Math.round(P.x)&&0>=Math.round(P.y)?1:-1,F=!1,"sharp"==I?(q.lineTo(X.x-P.y*S,X.y+P.x*S),q.lineTo(U.x-P.y*S,U.y+P.x*S),q.lineTo(U.x,U.y)):"line"==I?(q.moveTo(X.x+P.y*S,X.y-P.x*S),q.lineTo(X.x-P.y*S,X.y+P.x*S),q.moveTo(U.x-P.y*S,U.y+P.x*S),q.lineTo(U.x+ +P.y*S,U.y-P.x*S),q.moveTo(U.x,U.y)):"arc"==I?(S*=1.3,q.curveTo(X.x-P.y*S,X.y+P.x*S,U.x-P.y*S,U.y+P.x*S,U.x,U.y)):(q.moveTo(U.x,U.y),F=!0),S=[U],X=!0))}else P=null;X||(S.push(R),O=R)}this.addPoints(q,S,B,C,!1,null,F);q.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(q,x,B,C){return null!=x&&"centerPerimeter"==x.style[mxConstants.STYLE_PERIMETER]?new mxPoint(x.getCenterX(),x.getCenterY()):m.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint; +mxGraphView.prototype.updateFloatingTerminalPoint=function(q,x,B,C){if(null==x||null==q||"1"!=x.style.snapToPoint&&"1"!=q.style.snapToPoint)n.apply(this,arguments);else{x=this.getTerminalPort(q,x,C);var E=this.getNextPoint(q,B,C),I=this.graph.isOrthogonal(q),F=mxUtils.toRadians(Number(x.style[mxConstants.STYLE_ROTATION]||"0")),O=new mxPoint(x.getCenterX(),x.getCenterY());if(0!=F){var T=Math.cos(-F),S=Math.sin(-F);E=mxUtils.getRotatedPoint(E,T,S,O)}T=parseFloat(q.style[mxConstants.STYLE_PERIMETER_SPACING]|| +0);T+=parseFloat(q.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);E=this.getPerimeterPoint(x,E,0==F&&I,T);0!=F&&(T=Math.cos(F),S=Math.sin(F),E=mxUtils.getRotatedPoint(E,T,S,O));q.setAbsoluteTerminalPoint(this.snapToAnchorPoint(q,x,B,C,E),C)}};mxGraphView.prototype.snapToAnchorPoint=function(q,x,B,C,E){if(null!=x&&null!=q){q=this.graph.getAllConnectionConstraints(x);C=B=null;if(null!=q)for(var I=0;I
"));ea=Graph.sanitizeHtml(z?ea.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):ea,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var Z=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? Math.round(Z*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(Z)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=ea&&(this.textarea.innerHTML=ea);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&& -this.restoreSelection(this.switchSelectionState);this.switchSelectionState=A;this.resize()}};var S=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,z){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var A=u.view.scale;this.bounds=mxRectangle.fromRectangle(u);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*A;this.bounds.height=60*A;var D=null!=u.text?u.text.margin:null;null==D&&(D=mxUtils.getAlignmentAsPoint(mxUtils.getValue(u.style, +this.restoreSelection(this.switchSelectionState);this.switchSelectionState=A;this.resize()}};var T=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,z){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var A=u.view.scale;this.bounds=mxRectangle.fromRectangle(u);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*A;this.bounds.height=60*A;var D=null!=u.text?u.text.margin:null;null==D&&(D=mxUtils.getAlignmentAsPoint(mxUtils.getValue(u.style, mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(u.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=D.x*this.bounds.width;this.bounds.y+=D.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/A)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/A)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return A=Graph.sanitizeHtml(A,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue; -mxCellEditor.prototype.getCurrentValue=function(u){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var z=Graph.sanitizeHtml(this.textarea.innerHTML,!0);return z="1"==mxUtils.getValue(u.style,"nl2Br","1")?z.replace(/\r\n/g,"
").replace(/\n/g,"
"):z.replace(/\r\n/g,"").replace(/\n/g,"")};var T=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(u){this.codeViewMode&&this.toggleViewMode();T.apply(this,arguments); +A+")")}else this.textarea.style.height="",this.textarea.style.overflow="",T.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(u,z){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var A=this.graph.getEditingValue(u.cell,z);"1"==mxUtils.getValue(u.style,"nl2Br","1")&&(A=A.replace(/\n/g,"
"));return A=Graph.sanitizeHtml(A,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue; +mxCellEditor.prototype.getCurrentValue=function(u){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var z=Graph.sanitizeHtml(this.textarea.innerHTML,!0);return z="1"==mxUtils.getValue(u.style,"nl2Br","1")?z.replace(/\r\n/g,"
").replace(/\n/g,"
"):z.replace(/\r\n/g,"").replace(/\n/g,"")};var S=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(u){this.codeViewMode&&this.toggleViewMode();S.apply(this,arguments); this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(u){}};var P=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(u,z){this.graph.getModel().beginUpdate();try{P.apply(this,arguments),""==z&&this.graph.isCellDeletable(u.cell)&&0==this.graph.model.getChildCount(u.cell)&&this.graph.isTransparentState(u)&&this.graph.removeCells([u.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor= function(u){var z=mxUtils.getValue(u.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=z&&z!=mxConstants.NONE||!(null!=u.cell.geometry&&0B;B++)(function(ha){mxEvent.addListener(k[ha],"click",function(){b(k[ha],""==k[ha].style.backgroundImage)})})(B);var Ia=mxUtils.bind(this,function(ha,Da,Ka){var Ha=f.editor.graph;g=f.getSelectionState();ha=mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE, 0);b(k[0],(ha&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);b(k[1],(ha&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);b(k[2],(ha&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);t.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);if(Ka||document.activeElement!=J)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),J.value=isNaN(ha)?"":ha+" pt";ha=g.cells.filter(function(La){return"SHAPE"=== -La.getAttribute("type")});0!==ha.length&&ha.map(function(La){return Ha.getCellStyle(La)}).forEach(function(La){var Ma=mxUtils.getValue(La,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,Ma==mxConstants.ALIGN_LEFT);b(E,Ma==mxConstants.ALIGN_CENTER);b(I,Ma==mxConstants.ALIGN_RIGHT);La=mxUtils.getValue(La,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(O,La==mxConstants.ALIGN_TOP);b(S,La==mxConstants.ALIGN_MIDDLE);b(T,La==mxConstants.ALIGN_BOTTOM)});ha=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION, +La.getAttribute("type")});0!==ha.length&&ha.map(function(La){return Ha.getCellStyle(La)}).forEach(function(La){var Ma=mxUtils.getValue(La,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,Ma==mxConstants.ALIGN_LEFT);b(E,Ma==mxConstants.ALIGN_CENTER);b(I,Ma==mxConstants.ALIGN_RIGHT);La=mxUtils.getValue(La,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(O,La==mxConstants.ALIGN_TOP);b(T,La==mxConstants.ALIGN_MIDDLE);b(S,La==mxConstants.ALIGN_BOTTOM)});ha=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER);Da=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);da.value=ha==mxConstants.ALIGN_LEFT&&Da==mxConstants.ALIGN_TOP?"topLeft":ha==mxConstants.ALIGN_CENTER&&Da==mxConstants.ALIGN_TOP?"top":ha==mxConstants.ALIGN_RIGHT&&Da==mxConstants.ALIGN_TOP?"topRight":ha==mxConstants.ALIGN_LEFT&&Da==mxConstants.ALIGN_BOTTOM?"bottomLeft":ha==mxConstants.ALIGN_CENTER&&Da==mxConstants.ALIGN_BOTTOM?"bottom":ha==mxConstants.ALIGN_RIGHT&&Da==mxConstants.ALIGN_BOTTOM? "bottomRight":ha==mxConstants.ALIGN_LEFT?"left":ha==mxConstants.ALIGN_RIGHT?"right":"center";if(Ka||document.activeElement!=ca)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),ca.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=K)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),K.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=Fa)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_RIGHT,0)),Fa.value=isNaN(ha)?"":ha+" pt"; if(Ka||document.activeElement!=na)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_BOTTOM,0)),na.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=ia)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),ia.value=isNaN(ha)?"":ha+" pt"});var Ja=this.installInputHandler(ca,mxConstants.STYLE_SPACING,2,-999,999," pt");var ta=this.installInputHandler(K,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");var Ca=this.installInputHandler(Fa,mxConstants.STYLE_SPACING_RIGHT, @@ -3097,22 +3097,22 @@ var C=mxUtils.bind(this,function(Y,da,la,J,W){Y=this.editorUi.menus.styleChange( ["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");C(Y,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")}));var E=B.cloneNode(!1),I=this.editorUi.toolbar.addMenuFunctionInContainer(E,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(Y){this.editorUi.menus.styleChange(Y,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null, null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"))}));k=this.editorUi.toolbar.addMenuFunctionInContainer(E,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(Y){C(Y,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));C(Y,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")}));q=B.cloneNode(!1);var F=document.createElement("input");F.style.position= -"absolute";F.style.textAlign="right";F.style.marginTop="2px";F.style.width="52px";F.style.height="21px";F.style.left="146px";F.style.border="1px solid rgb(160, 160, 160)";F.style.borderRadius="4px";F.style.boxSizing="border-box";F.setAttribute("title",mxResources.get("linewidth"));B.appendChild(F);var O=F.cloneNode(!0);E.appendChild(O);var S=this.createStepper(F,b,1,9);S.style.display=F.style.display;S.style.marginTop="2px";S.style.left="198px";B.appendChild(S);S=this.createStepper(O,f,1,9);S.style.display= -O.style.display;S.style.marginTop="2px";O.style.position="absolute";S.style.left="198px";E.appendChild(S);mxEvent.addListener(F,"blur",b);mxEvent.addListener(F,"change",b);mxEvent.addListener(O,"blur",f);mxEvent.addListener(O,"change",f);var T=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(Y){"arrow"!=d.style.shape&&this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE], +"absolute";F.style.textAlign="right";F.style.marginTop="2px";F.style.width="52px";F.style.height="21px";F.style.left="146px";F.style.border="1px solid rgb(160, 160, 160)";F.style.borderRadius="4px";F.style.boxSizing="border-box";F.setAttribute("title",mxResources.get("linewidth"));B.appendChild(F);var O=F.cloneNode(!0);E.appendChild(O);var T=this.createStepper(F,b,1,9);T.style.display=F.style.display;T.style.marginTop="2px";T.style.left="198px";B.appendChild(T);T=this.createStepper(O,f,1,9);T.style.display= +O.style.display;T.style.marginTop="2px";O.style.position="absolute";T.style.left="198px";E.appendChild(T);mxEvent.addListener(F,"blur",b);mxEvent.addListener(F,"change",b);mxEvent.addListener(O,"blur",f);mxEvent.addListener(O,"change",f);var S=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(Y){"arrow"!=d.style.shape&&this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE], [null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight"))})),P=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(Y){if("connector"==d.style.shape||"flexArrow"==d.style.shape||"filledEdge"==d.style.shape){var da=this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);da.setAttribute("title",mxResources.get("none")); var la=document.createElement("font");la.style.fontSize="10px";mxUtils.write(la,mxResources.get("none"));da.firstChild.firstChild.appendChild(la);"connector"==d.style.shape||"filledEdge"==d.style.shape?Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src)):this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans", null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}})),ba=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(Y){if("connector"==d.style.shape||"flexArrow"==d.style.shape||"filledEdge"==d.style.shape){var da=this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0], "geIcon",null,!1);da.setAttribute("title",mxResources.get("none"));var la=document.createElement("font");la.style.fontSize="10px";mxUtils.write(la,mxResources.get("none"));da.firstChild.firstChild.appendChild(la);"connector"==d.style.shape||"filledEdge"==d.style.shape?Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src),"scaleX(-1)"):this.editorUi.menus.edgeStyleChange(Y, -"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}}));q=this.addArrow(I,8);q.nextSibling.style.position="relative";q.nextSibling.style.top="-2px";q=this.addArrow(T,10);q.nextSibling.style.position="relative";q.nextSibling.style.top="-3px";T.getElementsByTagName("img")[0].style.top="-1px"; -this.addArrow(P,null,!0);this.addArrow(ba,null,!0);q=this.addArrow(t,9);q.className="geIcon";q.style.width="auto";S=this.addArrow(k,9);S.className="geIcon";S.style.width="22px";var U=document.createElement("div");U.style.width="84px";U.style.height="1px";U.style.borderBottom="1px solid "+this.defaultStrokeColor;U.style.marginBottom="7px";q.appendChild(U);var R=document.createElement("div");R.style.width="23px";R.style.height="1px";R.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.marginBottom= -"7px";S.appendChild(R);t.style.height="15px";t.style.marginLeft="16px";k.style.height="15px";k.style.marginLeft="3px";I.style.marginLeft="10px";I.style.height="15px";T.style.marginLeft="10px";T.style.height="17px";P.style.marginLeft="3px";P.style.height="17px";ba.style.marginLeft="3px";ba.style.height="17px";0===d.cells.filter(function(Y){return g.getModel().isEdge(Y)&&"LINK"===Y.getAttribute("type")&&"SIMPLE"!==Y.getAttribute("linkType")}).length&&a.appendChild(m);a.appendChild(B);t=B.cloneNode(!1); +"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}}));q=this.addArrow(I,8);q.nextSibling.style.position="relative";q.nextSibling.style.top="-2px";q=this.addArrow(S,10);q.nextSibling.style.position="relative";q.nextSibling.style.top="-3px";S.getElementsByTagName("img")[0].style.top="-1px"; +this.addArrow(P,null,!0);this.addArrow(ba,null,!0);q=this.addArrow(t,9);q.className="geIcon";q.style.width="auto";T=this.addArrow(k,9);T.className="geIcon";T.style.width="22px";var U=document.createElement("div");U.style.width="84px";U.style.height="1px";U.style.borderBottom="1px solid "+this.defaultStrokeColor;U.style.marginBottom="7px";q.appendChild(U);var R=document.createElement("div");R.style.width="23px";R.style.height="1px";R.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.marginBottom= +"7px";T.appendChild(R);t.style.height="15px";t.style.marginLeft="16px";k.style.height="15px";k.style.marginLeft="3px";I.style.marginLeft="10px";I.style.height="15px";S.style.marginLeft="10px";S.style.height="17px";P.style.marginLeft="3px";P.style.height="17px";ba.style.marginLeft="3px";ba.style.height="17px";0===d.cells.filter(function(Y){return g.getModel().isEdge(Y)&&"LINK"===Y.getAttribute("type")&&"SIMPLE"!==Y.getAttribute("linkType")}).length&&a.appendChild(m);a.appendChild(B);t=B.cloneNode(!1); t.style.padding="5px 4px 6px 0px";t.style.fontWeight="normal";m=m.cloneNode(!1);m.style.fontWeight="normal";m.style.position="relative";m.style.paddingLeft="16px";m.style.marginBottom="2px";m.style.marginTop="6px";m.style.borderWidth="0px";m.style.paddingBottom="18px";m.className="FormatPanel-perimeterPanel";t=document.createElement("div");t.style.position="absolute";t.style.marginLeft="3px";t.style.marginBottom="12px";t.style.marginTop="1px";t.style.fontWeight="normal";t.style.width="120px";mxUtils.write(t, mxResources.get("perimeter"));m.appendChild(t);this.addUnitInput(m,"pt",30,52,function(){(void 0).apply(this,arguments)});d.vertices.length==d.cells.length&&a.appendChild(m);var X=mxUtils.bind(this,function(Y,da,la){function J(W,N,Q,K){Q=Q.getElementsByTagName("div")[0];null!=Q&&e.updateCssForMarker(Q,K,d.style.shape,W,N);return Q}d=e.getSelectionState();if(la||document.activeElement!=F)Y=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_STROKEWIDTH,1)),F.value=isNaN(Y)?"":Y+" pt";if(la||document.activeElement!= O)Y=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_STROKEWIDTH,1)),O.value=isNaN(Y)?"":Y+" pt";n.style.visibility="connector"==d.style.shape||"filledEdge"==d.style.shape?"":"hidden";"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?n.value="curved":"1"==mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,null)&&(n.value="rounded");"1"==mxUtils.getValue(d.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(d.style,mxConstants.STYLE_DASH_PATTERN,null)?U.style.borderBottom="1px dashed "+ -this.defaultStrokeColor:U.style.borderBottom="1px dotted "+this.defaultStrokeColor:U.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.borderBottom=U.style.borderBottom;la=T.getElementsByTagName("div")[0];null!=la&&(Y=mxUtils.getValue(d.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(d.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(Y=null),"orthogonalEdgeStyle"==Y&&"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?la.className="geSprite geSprite-curved":la.className= +this.defaultStrokeColor:U.style.borderBottom="1px dotted "+this.defaultStrokeColor:U.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.borderBottom=U.style.borderBottom;la=S.getElementsByTagName("div")[0];null!=la&&(Y=mxUtils.getValue(d.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(d.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(Y=null),"orthogonalEdgeStyle"==Y&&"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?la.className="geSprite geSprite-curved":la.className= "straight"==Y||"none"==Y||null==Y?"geSprite geSprite-straight":"entityRelationEdgeStyle"==Y?"geSprite geSprite-entity":"elbowEdgeStyle"==Y?"geSprite "+("vertical"==mxUtils.getValue(d.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==Y?"geSprite "+("vertical"==mxUtils.getValue(d.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");la=I.getElementsByTagName("div")[0]; null!=la&&(la.className="link"==d.style.shape?"geSprite geSprite-linkedge":"flexArrow"==d.style.shape?"geSprite geSprite-arrow":"arrow"==d.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");E.style.display="none";B.style.display="";Graph.lineJumpsEnabled&&0S&&(m=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})},k=document.createElement("div"),k.style.className="geAdaptiveAsset",k.style.position="absolute", +J));F.appendChild(J)}),T=Math.ceil(Editor.styles.length/10);this.format.currentStylePage=null!=this.format.currentStylePage?this.format.currentStylePage:0;var S=[],P=mxUtils.bind(this,function(){0T&&(m=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})},k=document.createElement("div"),k.style.className="geAdaptiveAsset",k.style.position="absolute", k.style.left="0px",k.style.top="0px",k.style.bottom="0px",k.style.width="24px",k.style.height="24px",k.style.margin="0px",k.style.cursor="pointer",k.style.opacity="0.5",k.style.backgroundRepeat="no-repeat",k.style.backgroundPosition="center center",k.style.backgroundSize="24px 24px",k.style.backgroundImage="url("+Editor.previousImage+")",q=k.cloneNode(!1),q.style.backgroundImage="url("+Editor.nextImage+")",q.style.left="",q.style.right="2px",d.appendChild(k),d.appendChild(q),mxEvent.addListener(k, -"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage-1,S))})),mxEvent.addListener(q,"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage+1,S))})),m(k),m(q))}else P();return a}; +"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage-1,T))})),mxEvent.addListener(q,"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage+1,T))})),m(k),m(q))}else P();return a}; DiagramStylePanel.prototype.addResetButton=function(a){var b=this.editorUi,f=b.editor.graph,e=f.model,g=mxUtils.button(mxResources.get("reset"),mxUtils.bind(this,function(d){d=f.getVerticesAndEdges(!0,!0);this.format.rounded=!1;this.format.curved=!1;if(0w+y?c.y=r.y:c.x=r.x);return mxUtils.getPerimeterPoint(H,c,r)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,h,r,l){var p="0"!=mxUtils.getValue(h.style, "fixedSize","0"),v=p?P.prototype.fixedSize:P.prototype.size;null!=h&&(v=mxUtils.getValue(h.style,"size",v));p&&(v*=h.view.scale);var w=c.x,H=c.y,y=c.width,aa=c.height;h=null!=h?mxUtils.getValue(h.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;h==mxConstants.DIRECTION_EAST?(p=p?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),H=[new mxPoint(w+p,H),new mxPoint(w+y-p,H),new mxPoint(w+y,H+aa),new mxPoint(w,H+aa),new mxPoint(w+p,H)]):h==mxConstants.DIRECTION_WEST? (p=p?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H),new mxPoint(w+y,H),new mxPoint(w+y-p,H+aa),new mxPoint(w+p,H+aa),new mxPoint(w,H)]):h==mxConstants.DIRECTION_NORTH?(p=p?Math.max(0,Math.min(aa,v)):aa*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H+p),new mxPoint(w+y,H),new mxPoint(w+y,H+aa),new mxPoint(w,H+aa-p),new mxPoint(w,H+p)]):(p=p?Math.max(0,Math.min(aa,v)):aa*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H),new mxPoint(w+y,H+p),new mxPoint(w+y,H+aa-p),new mxPoint(w, @@ -3363,23 +3363,23 @@ h.push(gb(c));return h},module:function(c){return[Wa(c,["jettyWidth","jettyHeigh r.y-h.y))/2)})]},corner:function(c){return[Wa(c,["dx","dy"],function(h){var r=Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"dx",Ma.prototype.dx))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"dy",Ma.prototype.dy)));return new mxPoint(h.x+r,h.y+l)},function(h,r){this.state.style.dx=Math.round(Math.max(0,Math.min(h.width,r.x-h.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},tee:function(c){return[Wa(c,["dx","dy"],function(h){var r= Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"dx",eb.prototype.dx))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"dy",eb.prototype.dy)));return new mxPoint(h.x+(h.width+r)/2,h.y+l)},function(h,r){this.state.style.dx=Math.round(Math.max(0,2*Math.min(h.width/2,r.x-h.x-h.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},singleArrow:ib(1),doubleArrow:ib(.5),"mxgraph.arrows2.wedgeArrow":hb(20,20),"mxgraph.arrows2.wedgeArrowDashed":hb(20, 20),"mxgraph.arrows2.wedgeArrowDashed2":hb(20,20),folder:function(c){return[Wa(c,["tabWidth","tabHeight"],function(h){var r=Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"tabWidth",E.prototype.tabWidth))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"tabHeight",E.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(r=h.width-r);return new mxPoint(h.x+r,h.y+l)},function(h,r){var l=Math.max(0,Math.min(h.width, -r.x-h.x));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(l=h.width-l);this.state.style.tabWidth=Math.round(l);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},document:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",S.prototype.size))));return new mxPoint(h.x+3*h.width/4,h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0, +r.x-h.x));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(l=h.width-l);this.state.style.tabWidth=Math.round(l);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},document:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",T.prototype.size))));return new mxPoint(h.x+3*h.width/4,h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0, Math.min(1,(h.y+h.height-r.y)/h.height))},!1)]},tape:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",O.prototype.size))));return new mxPoint(h.getCenterX(),h.y+r*h.height/2)},function(h,r){this.state.style.size=Math.max(0,Math.min(1,(r.y-h.y)/h.height*2))},!1)]},isoCube2:function(c){return[Wa(c,["isoAngle"],function(h){var r=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",q.isoAngle))))*Math.PI/ 200;return new mxPoint(h.x,h.y+Math.min(h.width*Math.tan(r),.5*h.height))},function(h,r){this.state.style.isoAngle=Math.max(0,50*(r.y-h.y)/h.height)},!0)]},cylinder2:bb(x.prototype.size),cylinder3:bb(B.prototype.size),offPageConnector:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",L.prototype.size))));return new mxPoint(h.getCenterX(),h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0,Math.min(1,(h.y+h.height- r.y)/h.height))},!1)]},"mxgraph.basic.rect":function(c){var h=[Graph.createHandle(c,["size"],function(r){var l=Math.max(0,Math.min(r.width/2,r.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(r.x+l,r.y+l)},function(r,l){this.state.style.size=Math.round(100*Math.max(0,Math.min(r.height/2,r.width/2,l.x-r.x)))/100})];c=Graph.createHandle(c,["indent"],function(r){var l=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"indent",this.dx2)))); return new mxPoint(r.x+.75*r.width,r.y+l*r.height/200)},function(r,l){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(l.y-r.y)/r.height)))/100});h.push(c);return h},step:qb(la.prototype.size,!0,null,!0,la.prototype.fixedSize),hexagon:qb(J.prototype.size,!0,.5,!0,J.prototype.fixedSize),curlyBracket:qb(ba.prototype.size,!1),display:qb(Aa.prototype.size,!1),cube:sb(1,e.prototype.size,!1),card:sb(.5,F.prototype.size,!0),loopLimit:sb(.5,G.prototype.size,!0),trapezoid:ub(.5,P.prototype.size, -P.prototype.fixedSize),parallelogram:ub(1,T.prototype.size,T.prototype.fixedSize)};Graph.createHandle=Wa;Graph.handleFactory=rb;var tb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=tb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var h=this.state.style.shape;null==mxCellRenderer.defaultShapes[h]&&null==mxStencilRegistry.getStencil(h)?h=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&& -(h=mxConstants.SHAPE_SWIMLANE);h=rb[h];null==h&&null!=this.state.shape&&this.state.shape.isRoundable()&&(h=rb[mxConstants.SHAPE_RECTANGLE]);null!=h&&(h=h(this.state),null!=h&&(c=null==c?h:c.concat(h)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=rb[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory= -{};var jb=new mxPoint(1,0),kb=new mxPoint(1,0),mb=mxUtils.toRadians(-30);jb=mxUtils.getRotatedPoint(jb,Math.cos(mb),Math.sin(mb));var ob=mxUtils.toRadians(-150);kb=mxUtils.getRotatedPoint(kb,Math.cos(ob),Math.sin(ob));mxEdgeStyle.IsometricConnector=function(c,h,r,l,p){var v=c.view;l=null!=l&&0=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1, -0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0), -new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];Qa.prototype.constraints=mxRectangleShape.prototype.constraints; +P.prototype.fixedSize),parallelogram:ub(1,S.prototype.size,S.prototype.fixedSize)};Graph.createHandle=Wa;Graph.handleFactory=rb;var tb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=tb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var h=this.state.style.shape;null==mxCellRenderer.defaultShapes[h]&&null==mxStencilRegistry.getStencil(h)?h=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&& +(h=mxConstants.SHAPE_SWIMLANE);h=rb[h];null==h&&null!=this.state.shape&&this.state.shape.isRoundable()&&(h=rb[mxConstants.SHAPE_RECTANGLE]);null!=h&&(h=h(this.state),null!=h&&(c=null==c?h:c.concat(h)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){if("LINK"===this.state.cell.getAttribute("type"))return null;var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=rb[c];return null!=c?c(this.state): +null}}else Graph.createHandle=function(){},Graph.handleFactory={};var jb=new mxPoint(1,0),kb=new mxPoint(1,0),mb=mxUtils.toRadians(-30);jb=mxUtils.getRotatedPoint(jb,Math.cos(mb),Math.sin(mb));var ob=mxUtils.toRadians(-150);kb=mxUtils.getRotatedPoint(kb,Math.cos(ob),Math.sin(ob));mxEdgeStyle.IsometricConnector=function(c,h,r,l,p){var v=c.view;l=null!=l&&0=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75, +1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];Qa.prototype.constraints=mxRectangleShape.prototype.constraints; mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;t.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(h-l),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h-l,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h-.5*l,.5*l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,.5*(r+l)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));h>=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};F.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,.5*l));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3407,7 +3407,7 @@ Z.prototype.constraints=mxEllipse.prototype.constraints;Ra.prototype.constraints 0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];T.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;S.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];S.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;eb.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),p=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style, "dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,.5*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*h+.25*l,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),p));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(h+l),.5*(r+p)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),r));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),.5*(r+p)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*h-.25*l,p));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3431,8 +3431,8 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";e.op 620,420,!0,!1);k.init()});this.addAction("pageSetup...",function(){e.showDialog((new PageSetupDialog(e)).container,320,240,!0,!0)}).isEnabled=m;this.addAction("print...",function(){e.showDialog((new PrintDialog(e)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){e.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){e.redo()},null,"sprite-redo",mxClient.IS_WIN? Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){var k=null;try{k=e.copyXml(),null!=k&&d.removeCells(k,!1)}catch(q){}null==k&&mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{e.copyXml()}catch(k){}try{mxClipboard.copy(d)}catch(k){e.handleError(k)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var k=!1;try{Editor.enableNativeCipboard&&(e.readGraphModelFromClipboard(function(q){if(null!= q){d.getModel().beginUpdate();try{e.pasteXml(q,!0)}finally{d.getModel().endUpdate()}}else mxClipboard.paste(d)}),k=!0)}catch(q){}k||mxClipboard.paste(d)}},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(k){function q(B){if(null!=B){for(var C=0;C/g," ").replace(/ /g," "):T,P}}).filter(function(S){return void 0!==S})}var q=d.getSelectionCell()||d.getModel().getRoot();if(q&&q.value){var x=q.getAttribute("type");if(!("WIDGET"===x&&"LINK_LEGEND"===q.getAttribute("widgetType")||"LINK"===x&&"SIMPLE"===q.getAttribute("linkType"))&&["LINK","MEDIA","RESOURCE","WIDGET","CONTAINER"].includes(x)){x="type resourceType resourceId displayLabel displayImage displayParentName useResourceName label resourceName modelId viewId parentName parentType parentId displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "); +q.length&&d.setSelectionCells(q)}},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){if(d.isEnabled()){var k=d.getSelectionCells();if(null!=k){for(var q=[],x=0;x/g," ").replace(/ /g," "):S,P}}).filter(function(T){return void 0!==T})}var q=d.getSelectionCell()||d.getModel().getRoot();if(q&&q.value){var x=q.getAttribute("type");if(!("WIDGET"===x&&"LINK_LEGEND"===q.getAttribute("widgetType")||"LINK"===x&&"SIMPLE"===q.getAttribute("linkType"))&&["LINK","MEDIA","RESOURCE","WIDGET","CONTAINER"].includes(x)){x="type resourceType resourceId displayLabel displayImage displayParentName useResourceName label resourceName modelId viewId parentName parentType parentId displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "); var B="type linkType parentName parentType parentId resourceType resourceId resourceName modelId metric1Min metric1Max metric2Min metric2Max metricName1 metricName2 displayPercent".split(" "),C="type mediaType newTab elementUrl imageName centreonImageId label".split(" "),E="type widgetType resourceType useFontStatusColor useBackgroundStatusColor applyStatusColor resourceId pieChartInnerRadius useFontStatusColor pieChartDisplayLabel pieChartExplosion outputWidgetFormat chartDisplayThreshold chartFillLines chartNbPoints chartPeriod chartShowGrid chartStack displayLegend hiddenLine metric1Max metric1Min metricName1 metric2Max metric2Min metricName2 metricsColorStart metricsColorEnd parentName parentType parentId displayPercent resourceName orientation useResourceName displayLabel displayParentName label".split(" "), I="type modelId viewId imageName centreonImageId label displayLabel displayImage displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "),F=[];void 0!==q.getAttribute("resourceType")&&(F=k(x));void 0!==q.getAttribute("linkType")&&(F=k(B));void 0!==q.getAttribute("mediaType")&&(F=k(C));void 0!==q.getAttribute("widgetType")&&(F=k(E));"CONTAINER"===q.getAttribute("type")&&(F=k(I));parent.postMessage(JSON.stringify({mxObject:F,mxStyle:q.getStyle(),event:"setShowWizardShapeProperties"}), "*")}}},null,null,Editor.ctrlKey+"+E");this.addAction("editCentreonStyle",function(){var k=d.getSelectionCells()||d.getModel().getRoot();if(k){var q=["RESOURCE","CONTAINER"];k=k.filter(function(x){x=x.getAttribute("type");return q.includes(x)});1>k.length||(1===k.length?(k=d.getCellStyle(k[0]).style,parent.postMessage(JSON.stringify({mxObject:[{type:"RESOURCE_AND_CONTAINER"}],mxStyle:k||"ICON",event:"setCentreonStyle"}),"*")):parent.postMessage(JSON.stringify({mxObject:[{type:"RESOURCE_AND_CONTAINER"}], @@ -3488,9 +3488,9 @@ q="1";null!=k&&null!=d.getFoldingImage(k)&&(q="0");d.setCellStyles("collapsible" if(q instanceof mxEdgeHandler){var x=d.view.translate,B=d.view.scale,C=x.x;x=x.y;k=d.getModel().getParent(k);for(var E=d.getCellGeometry(k);d.getModel().isVertex(k)&&null!=E;)C+=E.x,x+=E.y,k=d.getModel().getParent(k),E=d.getCellGeometry(k);C=Math.round(d.snap(d.popupMenuHandler.triggerX/B-C));B=Math.round(d.snap(d.popupMenuHandler.triggerY/B-x));q.addPointAt(q.state,C,B)}}});this.addAction("removeWaypoint",function(){var k=e.actions.get("removeWaypoint");null!=k.handler&&k.handler.removePoint(k.handler.state, k.index)});this.addAction("clearWaypoints",function(k,q){k=null!=q?q:k;var x=d.getSelectionCells();if(null!=x){x=d.getEditableCells(d.addAllEdges(x));d.getModel().beginUpdate();try{for(var B=0;B"];for(var T=0;T");for(var P=0;P
");O.push("")}O.push("");E=O.join("");S.call(F,E);E=F.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(S=E.length-1;0<=S;S--)if(0==S||E[S]!=C[S-1]){F.selectNode(E[S].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,m=null,n=null;null==f&&(a.div.className+=" geToolbarMenu", +Menus.prototype.addInsertTableItem=function(a,b,f,e){function g(C){n=d.getParentByName(mxEvent.getSource(C),"TD");var E=!1;if(null!=n){m=d.getParentByName(n,"TR");var I=mxEvent.isMouseEvent(C)?2:4,F=x,O=Math.min(20,m.sectionRowIndex+I);I=Math.min(20,n.cellIndex+I);for(var T=F.rows.length;T"];for(var S=0;S");for(var P=0;P
");O.push("")}O.push("");E=O.join("");T.call(F,E);E=F.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(T=E.length-1;0<=T;T--)if(0==T||E[T]!=C[T-1]){F.selectNode(E[T].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,m=null,n=null;null==f&&(a.div.className+=" geToolbarMenu", a.labels=!1);a=a.addItem("",null,null,f,null,null,null,!0);a.firstChild.style.fontSize=Menus.prototype.defaultFontSize+"px";f=a.getElementsByTagName("td");1d.div.clientHeight&&(d.div.style.width="40px");d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);this.editorUi.resetCurrentMenu(); d.destroy()});var t=mxUtils.getOffset(a);d.popup(t.x,t.y+a.offsetHeight,null,n);this.editorUi.setCurrentMenu(d,a)}m=!0;mxEvent.consume(n)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(n){m=null==d||null==d.div||null==d.div.parentNode;n.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog=function(a,b,f,e){function g(){var I=m.value;/(^#?[a-zA-Z0-9]*$)/.test(I)? ("none"!=I&&"#"!=I.charAt(0)&&(I="#"+I),ColorDialog.addRecentColor("none"!=I?I.substring(1):I,12),n(I),a.hideDialog()):a.handleError({message:mxResources.get("invalidInput")})}function d(){var I=q(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);I.style.marginBottom="8px";return I}this.editorUi=a;var m=document.createElement("input");m.style.marginBottom="10px";mxClient.IS_IE&&(m.style.marginTop="10px",document.body.appendChild(m));var n=null!=f?f:this.createApplyFunction(); -this.init=function(){mxClient.IS_TOUCH||m.focus()};var t=new mxJSColor.color(m);t.pickerOnfocus=!1;t.showPicker();f=document.createElement("div");mxJSColor.picker.box.style.position="relative";mxJSColor.picker.box.style.width="230px";mxJSColor.picker.box.style.height="100px";mxJSColor.picker.box.style.paddingBottom="10px";f.appendChild(mxJSColor.picker.box);var k=document.createElement("center"),q=mxUtils.bind(this,function(I,F,O,S){F=null!=F?F:12;var T=document.createElement("table");T.style.borderCollapse= -"collapse";T.setAttribute("cellspacing","0");T.style.marginBottom="20px";T.style.cellSpacing="0px";T.style.marginLeft="1px";var P=document.createElement("tbody");T.appendChild(P);for(var ba=I.length/F,U=0;UMAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var e=a.editor.graph,g=e.getGraphBounds(),d=e.view.scale,m=Math.ceil(g.width/ +var ExportDialog=function(a){function b(){var R=q.value,X=R.lastIndexOf(".");q.value=0MAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var e=a.editor.graph,g=e.getGraphBounds(),d=e.view.scale,m=Math.ceil(g.width/ d),n=Math.ceil(g.height/d);d=document.createElement("table");var t=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");g=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");g.appendChild(k);var q=document.createElement("input");q.setAttribute("value",a.editor.getOrCreateFilename());q.style.width="180px";k=document.createElement("td");k.appendChild(q);g.appendChild(k); t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");g.appendChild(k);var x=document.createElement("select");x.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));x.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),x.appendChild(k)); k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));x.appendChild(k);a.printPdfExport||(k=document.createElement("option"),k.setAttribute("value","pdf"),mxUtils.write(k,mxResources.get("formatPdf")),x.appendChild(k));k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));x.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k, @@ -3649,25 +3649,25 @@ k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResourc "180px";k=document.createElement("td");k.appendChild(E);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");g.appendChild(k);var I=document.createElement("select");I.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");I.appendChild(k); k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","400");mxUtils.write(k,"400dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));I.appendChild(k);var F=document.createElement("input");F.style.width="180px";F.style.display="none";F.setAttribute("value","100");F.setAttribute("type","number");F.setAttribute("min", "50");F.setAttribute("step","50");var O=!1;mxEvent.addListener(I,"change",function(){"custom"==this.value?(this.style.display="none",F.style.display="",F.focus()):(F.value=this.value,O||(B.value=this.value))});mxEvent.addListener(F,"change",function(){var R=parseInt(F.value);isNaN(R)||0>=R?F.style.backgroundColor="red":(F.style.backgroundColor="",O||(B.value=R))});k=document.createElement("td");k.appendChild(I);k.appendChild(F);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td"); -k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");g.appendChild(k);var S=document.createElement("input");S.setAttribute("type","checkbox");S.checked=null==e.background||e.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(S);mxUtils.write(k,mxResources.get("transparent"));g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");g.appendChild(k); -var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");g.appendChild(k);var P=document.createElement("input");P.setAttribute("type","number");P.setAttribute("value",ExportDialog.lastBorderValue);P.style.width="180px";k=document.createElement("td");k.appendChild(P); +k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");g.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=null==e.background||e.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(T);mxUtils.write(k,mxResources.get("transparent"));g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");g.appendChild(k); +var S=document.createElement("input");S.setAttribute("type","checkbox");S.checked=!1;k=document.createElement("td");k.appendChild(S);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");g.appendChild(k);var P=document.createElement("input");P.setAttribute("type","number");P.setAttribute("value",ExportDialog.lastBorderValue);P.style.width="180px";k=document.createElement("td");k.appendChild(P); g.appendChild(k);t.appendChild(g);d.appendChild(t);mxEvent.addListener(x,"change",b);b();mxEvent.addListener(B,"change",function(){O=!0;var R=Math.max(0,parseFloat(B.value)||100)/100;B.value=parseFloat((100*R).toFixed(2));0=parseInt(B.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var R=q.value,X=x.value,Y=Math.max(0,parseFloat(B.value)||100)/ -100,da=Math.max(0,parseInt(P.value)),la=e.background,J=Math.max(1,parseInt(F.value));if(("svg"==X||"png"==X||"pdf"==X)&&S.checked)la=null;else if(null==la||la==mxConstants.NONE)la="#ffffff";ExportDialog.lastBorderValue=da;ExportDialog.exportFile(a,R,X,la,Y,da,J,T.checked)}}));ba.className="geBtn gePrimaryBtn";var U=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});U.className="geBtn";a.editor.cancelFirst?(k.appendChild(U),k.appendChild(ba)):(k.appendChild(ba),k.appendChild(U)); +100,da=Math.max(0,parseInt(P.value)),la=e.background,J=Math.max(1,parseInt(F.value));if(("svg"==X||"png"==X||"pdf"==X)&&T.checked)la=null;else if(null==la||la==mxConstants.NONE)la="#ffffff";ExportDialog.lastBorderValue=da;ExportDialog.exportFile(a,R,X,la,Y,da,J,S.checked)}}));ba.className="geBtn gePrimaryBtn";var U=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});U.className="geBtn";a.editor.cancelFirst?(k.appendChild(U),k.appendChild(ba)):(k.appendChild(ba),k.appendChild(U)); g.appendChild(k);t.appendChild(g);d.appendChild(t);this.container=d};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; ExportDialog.exportFile=function(a,b,f,e,g,d,m,n){n=a.editor.graph;if("xml"==f)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,f);else if("svg"==f)ExportDialog.saveLocalFile(a,mxUtils.getXml(n.getSvg(e,g,d)),b,f);else{var t=n.getGraphBounds(),k=mxUtils.createXmlDocument(),q=k.createElement("output");k.appendChild(q);k=new mxXmlCanvas2D(q);k.translate(Math.floor((d/g-t.x)/n.view.scale),Math.floor((d/g-t.y)/n.view.scale));k.scale(g/n.view.scale);(new mxImageExport).drawState(n.getView().getState(n.model.root), k);q="xml="+encodeURIComponent(mxUtils.getXml(q));k=Math.ceil(t.width*g/n.view.scale+2*d);g=Math.ceil(t.height*g/n.view.scale+2*d);q.length<=MAX_REQUEST_SIZE&&k*gR.name?1:0});if(null!=E){q=document.createElement("div");q.style.width= -"100%";q.style.fontSize="11px";q.style.textAlign="center";mxUtils.write(q,E);var S=k.addField(mxResources.get("id")+":",q);mxEvent.addListener(q,"dblclick",function(U){mxEvent.isShiftDown(U)&&(U=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(R){null!=R&&0U.indexOf(":"))try{var R= -mxUtils.indexOf(x,U);if(0<=R&&null!=B[R])B[R].focus();else{d.cloneNode(!1).setAttribute(U,"");0<=R&&(x.splice(R,1),B.splice(R,1));x.push(U);var X=k.addTextarea(U+":","",2);X.style.width="100%";B.push(X);I(X,U);X.focus()}P.setAttribute("disabled","disabled");T.value=""}catch(Y){mxUtils.alert(Y)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(T,"keypress",function(U){13==U.keyCode&&P.click()});this.init=function(){0U.indexOf(":"))try{var R= +mxUtils.indexOf(x,U);if(0<=R&&null!=B[R])B[R].focus();else{d.cloneNode(!1).setAttribute(U,"");0<=R&&(x.splice(R,1),B.splice(R,1));x.push(U);var X=k.addTextarea(U+":","",2);X.style.width="100%";B.push(X);I(X,U);X.focus()}P.setAttribute("disabled","disabled");S.value=""}catch(Y){mxUtils.alert(Y)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(S,"keypress",function(U){13==U.keyCode&&P.click()});this.init=function(){0T.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage), -d.setAttribute("title",mxResources.get("close")),d.className="geDialogClose",d.style.top=S+14+"px",d.style.left=O+f+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!q)){var P=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(ba){P=!0}),null,mxUtils.bind(this,function(ba){P&&(a.hideDialog(!0),P=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var ba=k(); -null!=ba&&(B=f=ba.w,C=e=ba.h)}ba=mxUtils.getDocumentSize();F=ba.height;this.bg.style.height=F+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px");O=Math.max(1,Math.round((ba.width-f-E)/2));S=Math.max(1,Math.round((F-e-a.footerHeight)/3));f=null!=document.body?Math.min(B,document.body.scrollWidth-E):B;e=Math.min(C,F-E);ba=this.getPosition(O,S,f,e);O=ba.x;S=ba.y;T.style.left=O+"px";T.style.top=S+"px";T.style.width=f+"px";T.style.height=e+ -"px";!n&&b.clientHeight>T.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=S+14+"px",this.dialogImg.style.left=O+f+38-x+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=m;this.container=T;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; +function Dialog(a,b,f,e,g,d,m,n,t,k,q){var x=t?57:0,B=f,C=e,E=t?0:64,I=Editor.inlineFullscreen||null==a.embedViewport?mxUtils.getDocumentSize():mxUtils.clone(a.embedViewport);null==a.embedViewport&&null!=window.innerHeight&&(I.height=window.innerHeight);var F=I.height,O=Math.max(1,Math.round((I.width-f-E)/2)),T=Math.max(1,Math.round((F-e-a.footerHeight)/3));b.style.maxHeight="100%";f=null!=document.body?Math.min(f,document.body.scrollWidth-E):f;e=Math.min(e,F-E);0S.clientHeight-E&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(d&&(d=document.createElement("img"),d.setAttribute("src",Dialog.prototype.closeImage), +d.setAttribute("title",mxResources.get("close")),d.className="geDialogClose",d.style.top=T+14+"px",d.style.left=O+f+38-x+"px",d.style.zIndex=this.zIndex,mxEvent.addListener(d,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(d),this.dialogImg=d,!q)){var P=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(ba){P=!0}),null,mxUtils.bind(this,function(ba){P&&(a.hideDialog(!0),P=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=k){var ba=k(); +null!=ba&&(B=f=ba.w,C=e=ba.h)}ba=mxUtils.getDocumentSize();F=ba.height;this.bg.style.height=F+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px");O=Math.max(1,Math.round((ba.width-f-E)/2));T=Math.max(1,Math.round((F-e-a.footerHeight)/3));f=null!=document.body?Math.min(B,document.body.scrollWidth-E):B;e=Math.min(C,F-E);ba=this.getPosition(O,T,f,e);O=ba.x;T=ba.y;S.style.left=O+"px";S.style.top=T+"px";S.style.width=f+"px";S.style.height=e+ +"px";!n&&b.clientHeight>S.clientHeight-E&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=T+14+"px",this.dialogImg.style.left=O+f+38-x+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=m;this.container=S;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; Dialog.prototype.clearImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQAKAIABAMDAwP///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUIzOEM1NzI4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUIzOEM1NzM4NjEyMTFFMUEzMkNDMUE3NjZERDE2QjIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QjM4QzU3MDg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QjM4QzU3MTg2MTIxMUUxQTMyQ0MxQTc2NkREMTZCMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAEAAAEALAAAAAANAAoAAAIXTGCJebD9jEOTqRlttXdrB32PJ2ncyRQAOw==":IMAGE_PATH+ @@ -2024,8 +2024,8 @@ Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onD var ErrorDialog=function(a,b,f,e,g,d,m,n,t,k,q){t=null!=t?t:!0;var x=document.createElement("div");x.style.textAlign="center";if(null!=b){var B=document.createElement("div");B.style.padding="0px";B.style.margin="0px";B.style.fontSize="18px";B.style.paddingBottom="16px";B.style.marginBottom="10px";B.style.borderBottom="1px solid #c0c0c0";B.style.color="gray";B.style.whiteSpace="nowrap";B.style.textOverflow="ellipsis";B.style.overflow="hidden";mxUtils.write(B,b);B.setAttribute("title",b);x.appendChild(B)}b= document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=f;x.appendChild(b);f=document.createElement("div");f.style.marginTop="12px";f.style.textAlign="center";null!=d&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();d()}),b.className="geBtn",f.appendChild(b),f.style.textAlign="center");null!=k&&(k=mxUtils.button(k,function(){null!=q&&q()}),k.className="geBtn",f.appendChild(k));var C=mxUtils.button(e,function(){t&&a.hideDialog();null!=g&&g()}); C.className="geBtn";f.appendChild(C);null!=m&&(e=mxUtils.button(m,function(){t&&a.hideDialog();null!=n&&n()}),e.className="geBtn gePrimaryBtn",f.appendChild(e));this.init=function(){C.focus()};x.appendChild(f);this.container=x},PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(C){var E=m.checked||k.checked,I=parseInt(x.value)/100;isNaN(I)&&(I=1,x.value="100%");I*=.75;var F=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,O=1/f.pageScale;if(E){var S=m.checked?1:parseInt(q.value);isNaN(S)||(O=mxUtils.getScaleForPageCount(S,f,F))}f.getGraphBounds();var T=S=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*I);F.height=Math.ceil(F.height*I);O*=I;!E&&f.pageVisible?(I=f.getPageLayout(),S-=I.x*F.width,T-=I.y*F.height): -E=!0;E=PrintDialog.createPrintPreview(f,O,F,0,S,T,E);E.open();C&&PrintDialog.printPreview(E)}var f=a.editor.graph,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var m=document.createElement("input");m.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(m);var t=document.createElement("span");mxUtils.write(t," "+mxResources.get("fitPage")); +PrintDialog.prototype.create=function(a){function b(C){var E=m.checked||k.checked,I=parseInt(x.value)/100;isNaN(I)&&(I=1,x.value="100%");I*=.75;var F=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,O=1/f.pageScale;if(E){var T=m.checked?1:parseInt(q.value);isNaN(T)||(O=mxUtils.getScaleForPageCount(T,f,F))}f.getGraphBounds();var S=T=0;F=mxRectangle.fromRectangle(F);F.width=Math.ceil(F.width*I);F.height=Math.ceil(F.height*I);O*=I;!E&&f.pageVisible?(I=f.getPageLayout(),T-=I.x*F.width,S-=I.y*F.height): +E=!0;E=PrintDialog.createPrintPreview(f,O,F,0,T,S,E);E.open();C&&PrintDialog.printPreview(E)}var f=a.editor.graph,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var g=document.createElement("tbody");var d=document.createElement("tr");var m=document.createElement("input");m.setAttribute("type","checkbox");var n=document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";n.appendChild(m);var t=document.createElement("span");mxUtils.write(t," "+mxResources.get("fitPage")); n.appendChild(t);mxEvent.addListener(t,"click",function(C){m.checked=!m.checked;k.checked=!m.checked;mxEvent.consume(C)});mxEvent.addListener(m,"change",function(){k.checked=!m.checked});d.appendChild(n);g.appendChild(d);d=d.cloneNode(!1);var k=document.createElement("input");k.setAttribute("type","checkbox");n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(k);t=document.createElement("span");mxUtils.write(t," "+mxResources.get("posterPrint")+":");n.appendChild(t);mxEvent.addListener(t, "click",function(C){k.checked=!k.checked;m.checked=!k.checked;mxEvent.consume(C)});d.appendChild(n);var q=document.createElement("input");q.setAttribute("value","1");q.setAttribute("type","number");q.setAttribute("min","1");q.setAttribute("size","4");q.setAttribute("disabled","disabled");q.style.width="50px";n=document.createElement("td");n.style.fontSize="10pt";n.appendChild(q);mxUtils.write(n," "+mxResources.get("pages")+" (max)");d.appendChild(n);g.appendChild(d);mxEvent.addListener(k,"change", function(){k.checked?q.removeAttribute("disabled"):q.setAttribute("disabled","disabled");m.checked=!k.checked});d=d.cloneNode(!1);n=document.createElement("td");mxUtils.write(n,mxResources.get("pageScale")+":");d.appendChild(n);n=document.createElement("td");var x=document.createElement("input");x.setAttribute("value","100 %");x.setAttribute("size","5");x.style.width="50px";n.appendChild(x);d.appendChild(n);g.appendChild(d);d=document.createElement("tr");n=document.createElement("td");n.colSpan=2; @@ -2040,23 +2040,23 @@ d.appendChild(m);m=document.createElement("td");var k=document.createElement("bu q.style.width="64px";q.style.cursor="pointer";q.style.padding="4px";var x=f.backgroundImage,B=f.background,C=function(E){a.showBackgroundImageDialog(function(I,F,O){F||(null!=I&&null!=I.src&&Graph.isPageLink(I.src)&&(I={originalSrc:I.src}),x=I);B=O;b()},x,B);mxEvent.consume(E)};mxEvent.addListener(k,"click",C);mxEvent.addListener(q,"click",C);b();m.appendChild(q);m.appendChild(k);d.appendChild(m);g.appendChild(d);d=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop= "16px";m.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&m.appendChild(k);C=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var E=parseInt(t.value);isNaN(E)||f.gridSize===E||f.setGridSize(E);E=new ChangePageSetup(a,B,x,n.get());E.ignoreColor=f.background==B;E.ignoreImage=(null!=f.backgroundImage?f.backgroundImage.src:null)===(null!=x?x.src:null);f.pageFormat.width==E.previousFormat.width&& f.pageFormat.height==E.previousFormat.height&&E.ignoreColor&&E.ignoreImage||f.model.execute(E)});C.className="geBtn gePrimaryBtn";m.appendChild(C);a.editor.cancelFirst||m.appendChild(k);d.appendChild(m);g.appendChild(d);e.appendChild(g);this.container=e}; -PageSetupDialog.addPageFormatPanel=function(a,b,f,e){function g(ba,U,R){if(R||x!=document.activeElement&&B!=document.activeElement){ba=!1;for(U=0;U=ba)x.value=f.width/100;ba=parseFloat(B.value);if(isNaN(ba)||0>=ba)B.value=f.height/100;ba=new mxRectangle(0,0,Math.floor(100*parseFloat(x.value)), -Math.floor(100*parseFloat(B.value)));"custom"!=n.value&&m.checked&&(ba=new mxRectangle(0,0,ba.height,ba.width));U&&S||ba.width==T.width&&ba.height==T.height||(T=ba,null!=e&&e(T))};mxEvent.addListener(b,"click",function(ba){d.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(k,"click",function(ba){m.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(x,"blur",P);mxEvent.addListener(x,"click",P);mxEvent.addListener(B,"blur",P);mxEvent.addListener(B,"click",P);mxEvent.addListener(m,"change", -P);mxEvent.addListener(d,"change",P);mxEvent.addListener(n,"change",function(ba){S="custom"==n.value;P(ba,!0)});P();return{set:function(ba){f=ba;g(null,null,!0)},get:function(){return T},widthInput:x,heightInput:B}}; +F.key);mxUtils.write(O,F.title);n.appendChild(O)}var T=!1;g();a.appendChild(n);mxUtils.br(a);a.appendChild(t);a.appendChild(q);var S=f,P=function(ba,U){ba=C[n.value];null!=ba.format?(x.value=ba.format.width/100,B.value=ba.format.height/100,q.style.display="none",t.style.display=""):(t.style.display="none",q.style.display="");ba=parseFloat(x.value);if(isNaN(ba)||0>=ba)x.value=f.width/100;ba=parseFloat(B.value);if(isNaN(ba)||0>=ba)B.value=f.height/100;ba=new mxRectangle(0,0,Math.floor(100*parseFloat(x.value)), +Math.floor(100*parseFloat(B.value)));"custom"!=n.value&&m.checked&&(ba=new mxRectangle(0,0,ba.height,ba.width));U&&T||ba.width==S.width&&ba.height==S.height||(S=ba,null!=e&&e(S))};mxEvent.addListener(b,"click",function(ba){d.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(k,"click",function(ba){m.checked=!0;P(ba);mxEvent.consume(ba)});mxEvent.addListener(x,"blur",P);mxEvent.addListener(x,"click",P);mxEvent.addListener(B,"blur",P);mxEvent.addListener(B,"click",P);mxEvent.addListener(m,"change", +P);mxEvent.addListener(d,"change",P);mxEvent.addListener(n,"change",function(ba){T="custom"==n.value;P(ba,!0)});P();return{set:function(ba){f=ba;g(null,null,!0)},get:function(){return S},widthInput:x,heightInput:B}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)", format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)}, {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]}; var FilenameDialog=function(a,b,f,e,g,d,m,n,t,k,q,x,B){t=null!=t?t:!0;var C=document.createElement("table"),E=document.createElement("tbody");C.style.position="absolute";C.style.top="30px";C.style.left="20px";var I=document.createElement("tr");var F=document.createElement("td");F.style.textOverflow="ellipsis";F.style.textAlign="right";F.style.maxWidth=(B?B+15:100)+"px";F.style.fontSize="10pt";F.style.width=(B?B:84)+"px";mxUtils.write(F,(g||mxResources.get("filename"))+":");I.appendChild(F);var O= -document.createElement("input");O.setAttribute("value",b||"");O.style.marginLeft="4px";O.style.width=null!=x?x+"px":"180px";var S=mxUtils.button(f,function(){if(null==d||d(O.value))t&&a.hideDialog(),e(O.value)});S.className="geBtn gePrimaryBtn";this.init=function(){if(null!=g||null==m)if(O.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?O.select():document.execCommand("selectAll",!1,null),Graph.fileSupport){var T=C.parentNode;if(null!=T){var P=null;mxEvent.addListener(T,"dragleave", -function(ba){null!=P&&(P.style.backgroundColor="",P=null);ba.stopPropagation();ba.preventDefault()});mxEvent.addListener(T,"dragover",mxUtils.bind(this,function(ba){null==P&&(!mxClient.IS_IE||10'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(m,n){a.apply(this,arguments);if(null!=this.shiftPreview1){var t=this.view.canvas;null!=t.ownerSVGElement&&(t=t.ownerSVGElement);var k=this.gridSize*this.view.scale*this.view.gridSteps;k=-Math.round(k-mxUtils.mod(this.view.translate.x* this.view.scale+m,k))+"px "+-Math.round(k-mxUtils.mod(this.view.translate.y*this.view.scale+n,k))+"px";t.style.backgroundPosition=k}};mxGraph.prototype.updatePageBreaks=function(m,n,t){var k=this.view.scale,q=this.view.translate,x=this.pageFormat,B=k*this.pageScale,C=this.view.getBackgroundPageBounds();n=C.width;t=C.height;var E=new mxRectangle(k*q.x,k*q.y,x.width*B,x.height*B),I=(m=m&&Math.min(E.width,E.height)>this.minPageBreakDist)?Math.ceil(t/E.height)-1:0,F=m?Math.ceil(n/E.width)-1:0,O=C.x+n, -S=C.y+t;null==this.horizontalPageBreaks&&0document.documentMode)?mxEvent.addListener(this.diagramContainer, "contextmenu",b):this.diagramContainer.oncontextmenu=b):e.panningHandler.usePopupTrigger=!1;e.init(this.diagramContainer);mxClient.IS_SVG&&null!=e.view.getDrawPane()&&(b=e.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=e.graphHandler){var I=e.graphHandler.start;e.graphHandler.start=function(){null!=da.hoverIcons&&da.hoverIcons.reset();I.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this, function(N){var Q=mxUtils.getOffset(this.diagramContainer);0mxUtils.indexOf(this.toolbar.staticElements,N)&&(N.parentNode.removeChild(N),Q.push(N));N=K}N=this.toolbar.fontMenu;K=this.toolbar.sizeMenu;if(null==X)this.toolbar.createTextToolbar();else{for(var ca=0;caia&&null!=Ca&&!mxEvent.isShiftDown(Ia)&&(mxUtils.getValue(Ca.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(Fa,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(Ca.style, -mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ca.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(Ca.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(Fa,mxConstants.STYLE_SHAPE)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ca)&&(ja.model.isVertex(Ca.cell)&&null!=q||ja.model.isEdge(Ca.cell)&&ja.model.isEdge(e[0]))){if(ja.isCellEditable(Ca.cell)){S= -Ca;var qa=ja.model.isEdge(Ca.cell)?ja.view.getPoint(Ca):new mxPoint(Ca.getCenterX(),Ca.getCenterY());qa=new mxRectangle(qa.x-this.refreshTarget.width/2,qa.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);X.style.left=Math.floor(qa.x)+"px";X.style.top=Math.floor(qa.y)+"px";null==Y&&(ja.container.appendChild(X),Y=X.parentNode);m(xa,ya,qa,X)}}else null==S||!mxUtils.contains(S,xa,ya)||1500this.dropTargetDelay&&!this.isDropStyleTargetIgnored(Ca)&&(ja.model.isVertex(Ca.cell)&&null!=q||ja.model.isEdge(Ca.cell)&&ja.model.isEdge(e[0]))){if(ja.isCellEditable(Ca.cell)){T= +Ca;var qa=ja.model.isEdge(Ca.cell)?ja.view.getPoint(Ca):new mxPoint(Ca.getCenterX(),Ca.getCenterY());qa=new mxRectangle(qa.x-this.refreshTarget.width/2,qa.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);X.style.left=Math.floor(qa.x)+"px";X.style.top=Math.floor(qa.y)+"px";null==Y&&(ja.container.appendChild(X),Y=X.parentNode);m(xa,ya,qa,X)}}else null==T||!mxUtils.contains(T,xa,ya)||1500ia&&ia>this.dropTargetDelay||ja.model.isEdge(Ja)?Ca:null,null!=F&&qa){ta=[da,la,P,ba,U,R];for(qa=0;qaia&&ia>this.dropTargetDelay||ja.model.isEdge(Ja)?Ca:null,null!=F&&qa){ta=[da,la,P,ba,U,R];for(qa=0;qaB?"a":"p",tt:12>B?"am":"pm",T:12>B?"A":"P",TT:12>B?"AM":"PM",Z:f?"UTC":(String(a).match(g)||[""]).pop().replace(d,""),o:(0I||Math.abs(P.y-S.y)>I)&&(Math.abs(P.x-O.x)>I||Math.abs(P.y-O.y)>I)&&(Math.abs(P.x-Y.x)>I||Math.abs(P.y-Y.y)>I)&&(Math.abs(P.x-X.x)>I||Math.abs(P.y-X.y)>I)){X=P.x-S.x;Y=P.y-S.y;P={distSq:X*X+Y*Y,x:P.x,y:P.y};for(X=0;XP.distSq){T.splice(X,0,P);P=null;break}null==P||0!=T.length&&T[T.length-1].x===P.x&&T[T.length-1].y===P.y||T.push(P)}}}for(U=0;U< -T.length;U++)B=E(1,T[U].x,T[U].y)||B}P=x[x.length-1];B=E(0,P.x,P.y)||B}q.routedPoints=C;return B}return!1};var d=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(q,x,B){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)d.apply(this,arguments);else{var C=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,E=(parseInt(mxUtils.getValue(this.style, -"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,I=mxUtils.getValue(this.style,"jumpStyle","none"),F=!0,O=null,S=null,T=[],P=null;q.begin();for(var ba=0;baE*E&&0E*E&&(X=new mxPoint(R.x-P.x,R.y-P.y),U=new mxPoint(R.x+P.x,R.y+P.y),T.push(X),this.addPoints(q,T,B,C,!1,null,F),T=0>Math.round(P.x)||0==Math.round(P.x)&&0>=Math.round(P.y)?1:-1,F=!1,"sharp"==I?(q.lineTo(X.x-P.y*T,X.y+P.x*T),q.lineTo(U.x-P.y*T,U.y+P.x*T),q.lineTo(U.x,U.y)):"line"==I?(q.moveTo(X.x+P.y*T,X.y-P.x*T),q.lineTo(X.x-P.y*T,X.y+P.x*T),q.moveTo(U.x-P.y*T,U.y+P.x*T),q.lineTo(U.x+ -P.y*T,U.y-P.x*T),q.moveTo(U.x,U.y)):"arc"==I?(T*=1.3,q.curveTo(X.x-P.y*T,X.y+P.x*T,U.x-P.y*T,U.y+P.x*T,U.x,U.y)):(q.moveTo(U.x,U.y),F=!0),T=[U],X=!0))}else P=null;X||(T.push(R),O=R)}this.addPoints(q,T,B,C,!1,null,F);q.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(q,x,B,C){return null!=x&&"centerPerimeter"==x.style[mxConstants.STYLE_PERIMETER]?new mxPoint(x.getCenterX(),x.getCenterY()):m.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint; -mxGraphView.prototype.updateFloatingTerminalPoint=function(q,x,B,C){if(null==x||null==q||"1"!=x.style.snapToPoint&&"1"!=q.style.snapToPoint)n.apply(this,arguments);else{x=this.getTerminalPort(q,x,C);var E=this.getNextPoint(q,B,C),I=this.graph.isOrthogonal(q),F=mxUtils.toRadians(Number(x.style[mxConstants.STYLE_ROTATION]||"0")),O=new mxPoint(x.getCenterX(),x.getCenterY());if(0!=F){var S=Math.cos(-F),T=Math.sin(-F);E=mxUtils.getRotatedPoint(E,S,T,O)}S=parseFloat(q.style[mxConstants.STYLE_PERIMETER_SPACING]|| -0);S+=parseFloat(q.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);E=this.getPerimeterPoint(x,E,0==F&&I,S);0!=F&&(S=Math.cos(F),T=Math.sin(F),E=mxUtils.getRotatedPoint(E,S,T,O));q.setAbsoluteTerminalPoint(this.snapToAnchorPoint(q,x,B,C,E),C)}};mxGraphView.prototype.snapToAnchorPoint=function(q,x,B,C,E){if(null!=x&&null!=q){q=this.graph.getAllConnectionConstraints(x);C=B=null;if(null!=q)for(var I=0;II||Math.abs(P.y-T.y)>I)&&(Math.abs(P.x-O.x)>I||Math.abs(P.y-O.y)>I)&&(Math.abs(P.x-Y.x)>I||Math.abs(P.y-Y.y)>I)&&(Math.abs(P.x-X.x)>I||Math.abs(P.y-X.y)>I)){X=P.x-T.x;Y=P.y-T.y;P={distSq:X*X+Y*Y,x:P.x,y:P.y};for(X=0;XP.distSq){S.splice(X,0,P);P=null;break}null==P||0!=S.length&&S[S.length-1].x===P.x&&S[S.length-1].y===P.y||S.push(P)}}}for(U=0;U< +S.length;U++)B=E(1,S[U].x,S[U].y)||B}P=x[x.length-1];B=E(0,P.x,P.y)||B}q.routedPoints=C;return B}return!1};var d=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(q,x,B){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)d.apply(this,arguments);else{var C=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,E=(parseInt(mxUtils.getValue(this.style, +"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,I=mxUtils.getValue(this.style,"jumpStyle","none"),F=!0,O=null,T=null,S=[],P=null;q.begin();for(var ba=0;baE*E&&0E*E&&(X=new mxPoint(R.x-P.x,R.y-P.y),U=new mxPoint(R.x+P.x,R.y+P.y),S.push(X),this.addPoints(q,S,B,C,!1,null,F),S=0>Math.round(P.x)||0==Math.round(P.x)&&0>=Math.round(P.y)?1:-1,F=!1,"sharp"==I?(q.lineTo(X.x-P.y*S,X.y+P.x*S),q.lineTo(U.x-P.y*S,U.y+P.x*S),q.lineTo(U.x,U.y)):"line"==I?(q.moveTo(X.x+P.y*S,X.y-P.x*S),q.lineTo(X.x-P.y*S,X.y+P.x*S),q.moveTo(U.x-P.y*S,U.y+P.x*S),q.lineTo(U.x+ +P.y*S,U.y-P.x*S),q.moveTo(U.x,U.y)):"arc"==I?(S*=1.3,q.curveTo(X.x-P.y*S,X.y+P.x*S,U.x-P.y*S,U.y+P.x*S,U.x,U.y)):(q.moveTo(U.x,U.y),F=!0),S=[U],X=!0))}else P=null;X||(S.push(R),O=R)}this.addPoints(q,S,B,C,!1,null,F);q.stroke()}};var m=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(q,x,B,C){return null!=x&&"centerPerimeter"==x.style[mxConstants.STYLE_PERIMETER]?new mxPoint(x.getCenterX(),x.getCenterY()):m.apply(this,arguments)};var n=mxGraphView.prototype.updateFloatingTerminalPoint; +mxGraphView.prototype.updateFloatingTerminalPoint=function(q,x,B,C){if(null==x||null==q||"1"!=x.style.snapToPoint&&"1"!=q.style.snapToPoint)n.apply(this,arguments);else{x=this.getTerminalPort(q,x,C);var E=this.getNextPoint(q,B,C),I=this.graph.isOrthogonal(q),F=mxUtils.toRadians(Number(x.style[mxConstants.STYLE_ROTATION]||"0")),O=new mxPoint(x.getCenterX(),x.getCenterY());if(0!=F){var T=Math.cos(-F),S=Math.sin(-F);E=mxUtils.getRotatedPoint(E,T,S,O)}T=parseFloat(q.style[mxConstants.STYLE_PERIMETER_SPACING]|| +0);T+=parseFloat(q.style[C?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);E=this.getPerimeterPoint(x,E,0==F&&I,T);0!=F&&(T=Math.cos(F),S=Math.sin(F),E=mxUtils.getRotatedPoint(E,T,S,O));q.setAbsoluteTerminalPoint(this.snapToAnchorPoint(q,x,B,C,E),C)}};mxGraphView.prototype.snapToAnchorPoint=function(q,x,B,C,E){if(null!=x&&null!=q){q=this.graph.getAllConnectionConstraints(x);C=B=null;if(null!=q)for(var I=0;I
"));ea=Graph.sanitizeHtml(z?ea.replace(/\n/g,"").replace(/<br\s*.?>/g,"
"):ea,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var Z=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? Math.round(Z*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(Z)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=ea&&(this.textarea.innerHTML=ea);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&& -this.restoreSelection(this.switchSelectionState);this.switchSelectionState=A;this.resize()}};var S=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,z){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var A=u.view.scale;this.bounds=mxRectangle.fromRectangle(u);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*A;this.bounds.height=60*A;var D=null!=u.text?u.text.margin:null;null==D&&(D=mxUtils.getAlignmentAsPoint(mxUtils.getValue(u.style, +this.restoreSelection(this.switchSelectionState);this.switchSelectionState=A;this.resize()}};var T=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(u,z){if(null!=this.textarea)if(u=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=u){var A=u.view.scale;this.bounds=mxRectangle.fromRectangle(u);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*A;this.bounds.height=60*A;var D=null!=u.text?u.text.margin:null;null==D&&(D=mxUtils.getAlignmentAsPoint(mxUtils.getValue(u.style, mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(u.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=D.x*this.bounds.width;this.bounds.y+=D.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/A)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/A)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight"));return A=Graph.sanitizeHtml(A,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue; -mxCellEditor.prototype.getCurrentValue=function(u){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var z=Graph.sanitizeHtml(this.textarea.innerHTML,!0);return z="1"==mxUtils.getValue(u.style,"nl2Br","1")?z.replace(/\r\n/g,"
").replace(/\n/g,"
"):z.replace(/\r\n/g,"").replace(/\n/g,"")};var T=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(u){this.codeViewMode&&this.toggleViewMode();T.apply(this,arguments); +A+")")}else this.textarea.style.height="",this.textarea.style.overflow="",T.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(u,z){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var A=this.graph.getEditingValue(u.cell,z);"1"==mxUtils.getValue(u.style,"nl2Br","1")&&(A=A.replace(/\n/g,"
"));return A=Graph.sanitizeHtml(A,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue; +mxCellEditor.prototype.getCurrentValue=function(u){if("0"==mxUtils.getValue(u.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var z=Graph.sanitizeHtml(this.textarea.innerHTML,!0);return z="1"==mxUtils.getValue(u.style,"nl2Br","1")?z.replace(/\r\n/g,"
").replace(/\n/g,"
"):z.replace(/\r\n/g,"").replace(/\n/g,"")};var S=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(u){this.codeViewMode&&this.toggleViewMode();S.apply(this,arguments); this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(u){}};var P=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(u,z){this.graph.getModel().beginUpdate();try{P.apply(this,arguments),""==z&&this.graph.isCellDeletable(u.cell)&&0==this.graph.model.getChildCount(u.cell)&&this.graph.isTransparentState(u)&&this.graph.removeCells([u.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor= function(u){var z=mxUtils.getValue(u.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=z&&z!=mxConstants.NONE||!(null!=u.cell.geometry&&0B;B++)(function(ha){mxEvent.addListener(k[ha],"click",function(){b(k[ha],""==k[ha].style.backgroundImage)})})(B);var Ia=mxUtils.bind(this,function(ha,Da,Ka){var Ha=f.editor.graph;g=f.getSelectionState();ha=mxUtils.getValue(g.style,mxConstants.STYLE_FONTSTYLE, 0);b(k[0],(ha&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);b(k[1],(ha&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);b(k[2],(ha&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);t.firstChild.nodeValue=mxUtils.getValue(g.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);if(Ka||document.activeElement!=J)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),J.value=isNaN(ha)?"":ha+" pt";ha=g.cells.filter(function(La){return"SHAPE"=== -La.getAttribute("type")});0!==ha.length&&ha.map(function(La){return Ha.getCellStyle(La)}).forEach(function(La){var Ma=mxUtils.getValue(La,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,Ma==mxConstants.ALIGN_LEFT);b(E,Ma==mxConstants.ALIGN_CENTER);b(I,Ma==mxConstants.ALIGN_RIGHT);La=mxUtils.getValue(La,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(O,La==mxConstants.ALIGN_TOP);b(S,La==mxConstants.ALIGN_MIDDLE);b(T,La==mxConstants.ALIGN_BOTTOM)});ha=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION, +La.getAttribute("type")});0!==ha.length&&ha.map(function(La){return Ha.getCellStyle(La)}).forEach(function(La){var Ma=mxUtils.getValue(La,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(C,Ma==mxConstants.ALIGN_LEFT);b(E,Ma==mxConstants.ALIGN_CENTER);b(I,Ma==mxConstants.ALIGN_RIGHT);La=mxUtils.getValue(La,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);b(O,La==mxConstants.ALIGN_TOP);b(T,La==mxConstants.ALIGN_MIDDLE);b(S,La==mxConstants.ALIGN_BOTTOM)});ha=mxUtils.getValue(g.style,mxConstants.STYLE_LABEL_POSITION, mxConstants.ALIGN_CENTER);Da=mxUtils.getValue(g.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);da.value=ha==mxConstants.ALIGN_LEFT&&Da==mxConstants.ALIGN_TOP?"topLeft":ha==mxConstants.ALIGN_CENTER&&Da==mxConstants.ALIGN_TOP?"top":ha==mxConstants.ALIGN_RIGHT&&Da==mxConstants.ALIGN_TOP?"topRight":ha==mxConstants.ALIGN_LEFT&&Da==mxConstants.ALIGN_BOTTOM?"bottomLeft":ha==mxConstants.ALIGN_CENTER&&Da==mxConstants.ALIGN_BOTTOM?"bottom":ha==mxConstants.ALIGN_RIGHT&&Da==mxConstants.ALIGN_BOTTOM? "bottomRight":ha==mxConstants.ALIGN_LEFT?"left":ha==mxConstants.ALIGN_RIGHT?"right":"center";if(Ka||document.activeElement!=ca)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING,2)),ca.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=K)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_TOP,0)),K.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=Fa)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_RIGHT,0)),Fa.value=isNaN(ha)?"":ha+" pt"; if(Ka||document.activeElement!=na)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_BOTTOM,0)),na.value=isNaN(ha)?"":ha+" pt";if(Ka||document.activeElement!=ia)ha=parseFloat(mxUtils.getValue(g.style,mxConstants.STYLE_SPACING_LEFT,0)),ia.value=isNaN(ha)?"":ha+" pt"});var Ja=this.installInputHandler(ca,mxConstants.STYLE_SPACING,2,-999,999," pt");var ta=this.installInputHandler(K,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");var Ca=this.installInputHandler(Fa,mxConstants.STYLE_SPACING_RIGHT, @@ -3097,22 +3097,22 @@ var C=mxUtils.bind(this,function(Y,da,la,J,W){Y=this.editorUi.menus.styleChange( ["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");C(Y,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")}));var E=B.cloneNode(!1),I=this.editorUi.toolbar.addMenuFunctionInContainer(E,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(Y){this.editorUi.menus.styleChange(Y,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null, null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"))}));k=this.editorUi.toolbar.addMenuFunctionInContainer(E,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(Y){C(Y,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));C(Y,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");C(Y,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")}));q=B.cloneNode(!1);var F=document.createElement("input");F.style.position= -"absolute";F.style.textAlign="right";F.style.marginTop="2px";F.style.width="52px";F.style.height="21px";F.style.left="146px";F.style.border="1px solid rgb(160, 160, 160)";F.style.borderRadius="4px";F.style.boxSizing="border-box";F.setAttribute("title",mxResources.get("linewidth"));B.appendChild(F);var O=F.cloneNode(!0);E.appendChild(O);var S=this.createStepper(F,b,1,9);S.style.display=F.style.display;S.style.marginTop="2px";S.style.left="198px";B.appendChild(S);S=this.createStepper(O,f,1,9);S.style.display= -O.style.display;S.style.marginTop="2px";O.style.position="absolute";S.style.left="198px";E.appendChild(S);mxEvent.addListener(F,"blur",b);mxEvent.addListener(F,"change",b);mxEvent.addListener(O,"blur",f);mxEvent.addListener(O,"change",f);var T=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(Y){"arrow"!=d.style.shape&&this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE], +"absolute";F.style.textAlign="right";F.style.marginTop="2px";F.style.width="52px";F.style.height="21px";F.style.left="146px";F.style.border="1px solid rgb(160, 160, 160)";F.style.borderRadius="4px";F.style.boxSizing="border-box";F.setAttribute("title",mxResources.get("linewidth"));B.appendChild(F);var O=F.cloneNode(!0);E.appendChild(O);var T=this.createStepper(F,b,1,9);T.style.display=F.style.display;T.style.marginTop="2px";T.style.left="198px";B.appendChild(T);T=this.createStepper(O,f,1,9);T.style.display= +O.style.display;T.style.marginTop="2px";O.style.position="absolute";T.style.left="198px";E.appendChild(T);mxEvent.addListener(F,"blur",b);mxEvent.addListener(F,"change",b);mxEvent.addListener(O,"blur",f);mxEvent.addListener(O,"change",f);var S=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(Y){"arrow"!=d.style.shape&&this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE], [null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight"))})),P=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(Y){if("connector"==d.style.shape||"flexArrow"==d.style.shape||"filledEdge"==d.style.shape){var da=this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);da.setAttribute("title",mxResources.get("none")); var la=document.createElement("font");la.style.fontSize="10px";mxUtils.write(la,mxResources.get("none"));da.firstChild.firstChild.appendChild(la);"connector"==d.style.shape||"filledEdge"==d.style.shape?Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src)):this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans", null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}})),ba=this.editorUi.toolbar.addMenuFunctionInContainer(q,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(Y){if("connector"==d.style.shape||"flexArrow"==d.style.shape||"filledEdge"==d.style.shape){var da=this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0], "geIcon",null,!1);da.setAttribute("title",mxResources.get("none"));var la=document.createElement("font");la.style.fontSize="10px";mxUtils.write(la,mxResources.get("none"));da.firstChild.firstChild.appendChild(la);"connector"==d.style.shape||"filledEdge"==d.style.shape?Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(Y,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src),"scaleX(-1)"):this.editorUi.menus.edgeStyleChange(Y, -"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}}));q=this.addArrow(I,8);q.nextSibling.style.position="relative";q.nextSibling.style.top="-2px";q=this.addArrow(T,10);q.nextSibling.style.position="relative";q.nextSibling.style.top="-3px";T.getElementsByTagName("img")[0].style.top="-1px"; -this.addArrow(P,null,!0);this.addArrow(ba,null,!0);q=this.addArrow(t,9);q.className="geIcon";q.style.width="auto";S=this.addArrow(k,9);S.className="geIcon";S.style.width="22px";var U=document.createElement("div");U.style.width="84px";U.style.height="1px";U.style.borderBottom="1px solid "+this.defaultStrokeColor;U.style.marginBottom="7px";q.appendChild(U);var R=document.createElement("div");R.style.width="23px";R.style.height="1px";R.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.marginBottom= -"7px";S.appendChild(R);t.style.height="15px";t.style.marginLeft="16px";k.style.height="15px";k.style.marginLeft="3px";I.style.marginLeft="10px";I.style.height="15px";T.style.marginLeft="10px";T.style.height="17px";P.style.marginLeft="3px";P.style.height="17px";ba.style.marginLeft="3px";ba.style.height="17px";0===d.cells.filter(function(Y){return g.getModel().isEdge(Y)&&"LINK"===Y.getAttribute("type")&&"SIMPLE"!==Y.getAttribute("linkType")}).length&&a.appendChild(m);a.appendChild(B);t=B.cloneNode(!1); +"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));Y.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=Y.div&&mxUtils.fit(Y.div)}),0)}}));q=this.addArrow(I,8);q.nextSibling.style.position="relative";q.nextSibling.style.top="-2px";q=this.addArrow(S,10);q.nextSibling.style.position="relative";q.nextSibling.style.top="-3px";S.getElementsByTagName("img")[0].style.top="-1px"; +this.addArrow(P,null,!0);this.addArrow(ba,null,!0);q=this.addArrow(t,9);q.className="geIcon";q.style.width="auto";T=this.addArrow(k,9);T.className="geIcon";T.style.width="22px";var U=document.createElement("div");U.style.width="84px";U.style.height="1px";U.style.borderBottom="1px solid "+this.defaultStrokeColor;U.style.marginBottom="7px";q.appendChild(U);var R=document.createElement("div");R.style.width="23px";R.style.height="1px";R.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.marginBottom= +"7px";T.appendChild(R);t.style.height="15px";t.style.marginLeft="16px";k.style.height="15px";k.style.marginLeft="3px";I.style.marginLeft="10px";I.style.height="15px";S.style.marginLeft="10px";S.style.height="17px";P.style.marginLeft="3px";P.style.height="17px";ba.style.marginLeft="3px";ba.style.height="17px";0===d.cells.filter(function(Y){return g.getModel().isEdge(Y)&&"LINK"===Y.getAttribute("type")&&"SIMPLE"!==Y.getAttribute("linkType")}).length&&a.appendChild(m);a.appendChild(B);t=B.cloneNode(!1); t.style.padding="5px 4px 6px 0px";t.style.fontWeight="normal";m=m.cloneNode(!1);m.style.fontWeight="normal";m.style.position="relative";m.style.paddingLeft="16px";m.style.marginBottom="2px";m.style.marginTop="6px";m.style.borderWidth="0px";m.style.paddingBottom="18px";m.className="FormatPanel-perimeterPanel";t=document.createElement("div");t.style.position="absolute";t.style.marginLeft="3px";t.style.marginBottom="12px";t.style.marginTop="1px";t.style.fontWeight="normal";t.style.width="120px";mxUtils.write(t, mxResources.get("perimeter"));m.appendChild(t);this.addUnitInput(m,"pt",30,52,function(){(void 0).apply(this,arguments)});d.vertices.length==d.cells.length&&a.appendChild(m);var X=mxUtils.bind(this,function(Y,da,la){function J(W,N,Q,K){Q=Q.getElementsByTagName("div")[0];null!=Q&&e.updateCssForMarker(Q,K,d.style.shape,W,N);return Q}d=e.getSelectionState();if(la||document.activeElement!=F)Y=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_STROKEWIDTH,1)),F.value=isNaN(Y)?"":Y+" pt";if(la||document.activeElement!= O)Y=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_STROKEWIDTH,1)),O.value=isNaN(Y)?"":Y+" pt";n.style.visibility="connector"==d.style.shape||"filledEdge"==d.style.shape?"":"hidden";"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?n.value="curved":"1"==mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,null)&&(n.value="rounded");"1"==mxUtils.getValue(d.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(d.style,mxConstants.STYLE_DASH_PATTERN,null)?U.style.borderBottom="1px dashed "+ -this.defaultStrokeColor:U.style.borderBottom="1px dotted "+this.defaultStrokeColor:U.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.borderBottom=U.style.borderBottom;la=T.getElementsByTagName("div")[0];null!=la&&(Y=mxUtils.getValue(d.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(d.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(Y=null),"orthogonalEdgeStyle"==Y&&"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?la.className="geSprite geSprite-curved":la.className= +this.defaultStrokeColor:U.style.borderBottom="1px dotted "+this.defaultStrokeColor:U.style.borderBottom="1px solid "+this.defaultStrokeColor;R.style.borderBottom=U.style.borderBottom;la=S.getElementsByTagName("div")[0];null!=la&&(Y=mxUtils.getValue(d.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(d.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(Y=null),"orthogonalEdgeStyle"==Y&&"1"==mxUtils.getValue(d.style,mxConstants.STYLE_CURVED,null)?la.className="geSprite geSprite-curved":la.className= "straight"==Y||"none"==Y||null==Y?"geSprite geSprite-straight":"entityRelationEdgeStyle"==Y?"geSprite geSprite-entity":"elbowEdgeStyle"==Y?"geSprite "+("vertical"==mxUtils.getValue(d.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==Y?"geSprite "+("vertical"==mxUtils.getValue(d.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");la=I.getElementsByTagName("div")[0]; null!=la&&(la.className="link"==d.style.shape?"geSprite geSprite-linkedge":"flexArrow"==d.style.shape?"geSprite geSprite-arrow":"arrow"==d.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");E.style.display="none";B.style.display="";Graph.lineJumpsEnabled&&0S&&(m=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})},k=document.createElement("div"),k.style.className="geAdaptiveAsset",k.style.position="absolute", +J));F.appendChild(J)}),T=Math.ceil(Editor.styles.length/10);this.format.currentStylePage=null!=this.format.currentStylePage?this.format.currentStylePage:0;var S=[],P=mxUtils.bind(this,function(){0T&&(m=function(R){mxEvent.addListener(R,"mouseenter",function(){R.style.opacity="1"});mxEvent.addListener(R,"mouseleave",function(){R.style.opacity="0.5"})},k=document.createElement("div"),k.style.className="geAdaptiveAsset",k.style.position="absolute", k.style.left="0px",k.style.top="0px",k.style.bottom="0px",k.style.width="24px",k.style.height="24px",k.style.margin="0px",k.style.cursor="pointer",k.style.opacity="0.5",k.style.backgroundRepeat="no-repeat",k.style.backgroundPosition="center center",k.style.backgroundSize="24px 24px",k.style.backgroundImage="url("+Editor.previousImage+")",q=k.cloneNode(!1),q.style.backgroundImage="url("+Editor.nextImage+")",q.style.left="",q.style.right="2px",d.appendChild(k),d.appendChild(q),mxEvent.addListener(k, -"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage-1,S))})),mxEvent.addListener(q,"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage+1,S))})),m(k),m(q))}else P();return a}; +"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage-1,T))})),mxEvent.addListener(q,"click",mxUtils.bind(this,function(){ba(mxUtils.mod(this.format.currentStylePage+1,T))})),m(k),m(q))}else P();return a}; DiagramStylePanel.prototype.addResetButton=function(a){var b=this.editorUi,f=b.editor.graph,e=f.model,g=mxUtils.button(mxResources.get("reset"),mxUtils.bind(this,function(d){d=f.getVerticesAndEdges(!0,!0);this.format.rounded=!1;this.format.curved=!1;if(0w+y?c.y=r.y:c.x=r.x);return mxUtils.getPerimeterPoint(H,c,r)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(c,h,r,l){var p="0"!=mxUtils.getValue(h.style, "fixedSize","0"),v=p?P.prototype.fixedSize:P.prototype.size;null!=h&&(v=mxUtils.getValue(h.style,"size",v));p&&(v*=h.view.scale);var w=c.x,H=c.y,y=c.width,aa=c.height;h=null!=h?mxUtils.getValue(h.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;h==mxConstants.DIRECTION_EAST?(p=p?Math.max(0,Math.min(.5*y,v)):y*Math.max(0,Math.min(1,v)),H=[new mxPoint(w+p,H),new mxPoint(w+y-p,H),new mxPoint(w+y,H+aa),new mxPoint(w,H+aa),new mxPoint(w+p,H)]):h==mxConstants.DIRECTION_WEST? (p=p?Math.max(0,Math.min(y,v)):y*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H),new mxPoint(w+y,H),new mxPoint(w+y-p,H+aa),new mxPoint(w+p,H+aa),new mxPoint(w,H)]):h==mxConstants.DIRECTION_NORTH?(p=p?Math.max(0,Math.min(aa,v)):aa*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H+p),new mxPoint(w+y,H),new mxPoint(w+y,H+aa),new mxPoint(w,H+aa-p),new mxPoint(w,H+p)]):(p=p?Math.max(0,Math.min(aa,v)):aa*Math.max(0,Math.min(1,v)),H=[new mxPoint(w,H),new mxPoint(w+y,H+p),new mxPoint(w+y,H+aa-p),new mxPoint(w, @@ -3363,23 +3363,23 @@ h.push(gb(c));return h},module:function(c){return[Wa(c,["jettyWidth","jettyHeigh r.y-h.y))/2)})]},corner:function(c){return[Wa(c,["dx","dy"],function(h){var r=Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"dx",Ma.prototype.dx))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"dy",Ma.prototype.dy)));return new mxPoint(h.x+r,h.y+l)},function(h,r){this.state.style.dx=Math.round(Math.max(0,Math.min(h.width,r.x-h.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},tee:function(c){return[Wa(c,["dx","dy"],function(h){var r= Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"dx",eb.prototype.dx))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"dy",eb.prototype.dy)));return new mxPoint(h.x+(h.width+r)/2,h.y+l)},function(h,r){this.state.style.dx=Math.round(Math.max(0,2*Math.min(h.width/2,r.x-h.x-h.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},singleArrow:ib(1),doubleArrow:ib(.5),"mxgraph.arrows2.wedgeArrow":hb(20,20),"mxgraph.arrows2.wedgeArrowDashed":hb(20, 20),"mxgraph.arrows2.wedgeArrowDashed2":hb(20,20),folder:function(c){return[Wa(c,["tabWidth","tabHeight"],function(h){var r=Math.max(0,Math.min(h.width,mxUtils.getValue(this.state.style,"tabWidth",E.prototype.tabWidth))),l=Math.max(0,Math.min(h.height,mxUtils.getValue(this.state.style,"tabHeight",E.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(r=h.width-r);return new mxPoint(h.x+r,h.y+l)},function(h,r){var l=Math.max(0,Math.min(h.width, -r.x-h.x));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(l=h.width-l);this.state.style.tabWidth=Math.round(l);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},document:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",S.prototype.size))));return new mxPoint(h.x+3*h.width/4,h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0, +r.x-h.x));mxUtils.getValue(this.state.style,"tabPosition",E.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(l=h.width-l);this.state.style.tabWidth=Math.round(l);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(h.height,r.y-h.y)))},!1)]},document:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",T.prototype.size))));return new mxPoint(h.x+3*h.width/4,h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0, Math.min(1,(h.y+h.height-r.y)/h.height))},!1)]},tape:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",O.prototype.size))));return new mxPoint(h.getCenterX(),h.y+r*h.height/2)},function(h,r){this.state.style.size=Math.max(0,Math.min(1,(r.y-h.y)/h.height*2))},!1)]},isoCube2:function(c){return[Wa(c,["isoAngle"],function(h){var r=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",q.isoAngle))))*Math.PI/ 200;return new mxPoint(h.x,h.y+Math.min(h.width*Math.tan(r),.5*h.height))},function(h,r){this.state.style.isoAngle=Math.max(0,50*(r.y-h.y)/h.height)},!0)]},cylinder2:bb(x.prototype.size),cylinder3:bb(B.prototype.size),offPageConnector:function(c){return[Wa(c,["size"],function(h){var r=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",L.prototype.size))));return new mxPoint(h.getCenterX(),h.y+(1-r)*h.height)},function(h,r){this.state.style.size=Math.max(0,Math.min(1,(h.y+h.height- r.y)/h.height))},!1)]},"mxgraph.basic.rect":function(c){var h=[Graph.createHandle(c,["size"],function(r){var l=Math.max(0,Math.min(r.width/2,r.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(r.x+l,r.y+l)},function(r,l){this.state.style.size=Math.round(100*Math.max(0,Math.min(r.height/2,r.width/2,l.x-r.x)))/100})];c=Graph.createHandle(c,["indent"],function(r){var l=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"indent",this.dx2)))); return new mxPoint(r.x+.75*r.width,r.y+l*r.height/200)},function(r,l){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(l.y-r.y)/r.height)))/100});h.push(c);return h},step:qb(la.prototype.size,!0,null,!0,la.prototype.fixedSize),hexagon:qb(J.prototype.size,!0,.5,!0,J.prototype.fixedSize),curlyBracket:qb(ba.prototype.size,!1),display:qb(Aa.prototype.size,!1),cube:sb(1,e.prototype.size,!1),card:sb(.5,F.prototype.size,!0),loopLimit:sb(.5,G.prototype.size,!0),trapezoid:ub(.5,P.prototype.size, -P.prototype.fixedSize),parallelogram:ub(1,T.prototype.size,T.prototype.fixedSize)};Graph.createHandle=Wa;Graph.handleFactory=rb;var tb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=tb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var h=this.state.style.shape;null==mxCellRenderer.defaultShapes[h]&&null==mxStencilRegistry.getStencil(h)?h=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&& -(h=mxConstants.SHAPE_SWIMLANE);h=rb[h];null==h&&null!=this.state.shape&&this.state.shape.isRoundable()&&(h=rb[mxConstants.SHAPE_RECTANGLE]);null!=h&&(h=h(this.state),null!=h&&(c=null==c?h:c.concat(h)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=rb[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory= -{};var jb=new mxPoint(1,0),kb=new mxPoint(1,0),mb=mxUtils.toRadians(-30);jb=mxUtils.getRotatedPoint(jb,Math.cos(mb),Math.sin(mb));var ob=mxUtils.toRadians(-150);kb=mxUtils.getRotatedPoint(kb,Math.cos(ob),Math.sin(ob));mxEdgeStyle.IsometricConnector=function(c,h,r,l,p){var v=c.view;l=null!=l&&0=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1, -0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0), -new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];Qa.prototype.constraints=mxRectangleShape.prototype.constraints; +P.prototype.fixedSize),parallelogram:ub(1,S.prototype.size,S.prototype.fixedSize)};Graph.createHandle=Wa;Graph.handleFactory=rb;var tb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=tb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var h=this.state.style.shape;null==mxCellRenderer.defaultShapes[h]&&null==mxStencilRegistry.getStencil(h)?h=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&& +(h=mxConstants.SHAPE_SWIMLANE);h=rb[h];null==h&&null!=this.state.shape&&this.state.shape.isRoundable()&&(h=rb[mxConstants.SHAPE_RECTANGLE]);null!=h&&(h=h(this.state),null!=h&&(c=null==c?h:c.concat(h)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){if("LINK"===this.state.cell.getAttribute("type"))return null;var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=rb[c];return null!=c?c(this.state): +null}}else Graph.createHandle=function(){},Graph.handleFactory={};var jb=new mxPoint(1,0),kb=new mxPoint(1,0),mb=mxUtils.toRadians(-30);jb=mxUtils.getRotatedPoint(jb,Math.cos(mb),Math.sin(mb));var ob=mxUtils.toRadians(-150);kb=mxUtils.getRotatedPoint(kb,Math.cos(ob),Math.sin(ob));mxEdgeStyle.IsometricConnector=function(c,h,r,l,p){var v=c.view;l=null!=l&&0=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75, +1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];Qa.prototype.constraints=mxRectangleShape.prototype.constraints; mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;t.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(h-l),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h-l,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h-.5*l,.5*l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,.5*(r+l)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, .5),!1));h>=2*l&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};F.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,Math.min(r,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,.5*l));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3407,7 +3407,7 @@ Z.prototype.constraints=mxEllipse.prototype.constraints;Ra.prototype.constraints 0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];T.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;S.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, +.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];S.prototype.constraints=mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, 0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;eb.prototype.getConstraints=function(c,h,r){c=[];var l=Math.max(0,Math.min(h,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),p=Math.max(0,Math.min(r,parseFloat(mxUtils.getValue(this.style, "dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,.5*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,h,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*h+.25*l,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),p));c.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(h+l),.5*(r+p)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h+l),r));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),r));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),.5*(r+p)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(h-l),p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*h-.25*l,p));c.push(new mxConnectionConstraint(new mxPoint(0, @@ -3431,8 +3431,8 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";e.op 620,420,!0,!1);k.init()});this.addAction("pageSetup...",function(){e.showDialog((new PageSetupDialog(e)).container,320,240,!0,!0)}).isEnabled=m;this.addAction("print...",function(){e.showDialog((new PrintDialog(e)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){e.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){e.redo()},null,"sprite-redo",mxClient.IS_WIN? Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){var k=null;try{k=e.copyXml(),null!=k&&d.removeCells(k,!1)}catch(q){}null==k&&mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{e.copyXml()}catch(k){}try{mxClipboard.copy(d)}catch(k){e.handleError(k)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var k=!1;try{Editor.enableNativeCipboard&&(e.readGraphModelFromClipboard(function(q){if(null!= q){d.getModel().beginUpdate();try{e.pasteXml(q,!0)}finally{d.getModel().endUpdate()}}else mxClipboard.paste(d)}),k=!0)}catch(q){}k||mxClipboard.paste(d)}},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(k){function q(B){if(null!=B){for(var C=0;C/g," ").replace(/ /g," "):T,P}}).filter(function(S){return void 0!==S})}var q=d.getSelectionCell()||d.getModel().getRoot();if(q&&q.value){var x=q.getAttribute("type");if(!("WIDGET"===x&&"LINK_LEGEND"===q.getAttribute("widgetType")||"LINK"===x&&"SIMPLE"===q.getAttribute("linkType"))&&["LINK","MEDIA","RESOURCE","WIDGET","CONTAINER"].includes(x)){x="type resourceType resourceId displayLabel displayImage displayParentName useResourceName label resourceName modelId viewId parentName parentType parentId displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "); +q.length&&d.setSelectionCells(q)}},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){if(d.isEnabled()){var k=d.getSelectionCells();if(null!=k){for(var q=[],x=0;x/g," ").replace(/ /g," "):S,P}}).filter(function(T){return void 0!==T})}var q=d.getSelectionCell()||d.getModel().getRoot();if(q&&q.value){var x=q.getAttribute("type");if(!("WIDGET"===x&&"LINK_LEGEND"===q.getAttribute("widgetType")||"LINK"===x&&"SIMPLE"===q.getAttribute("linkType"))&&["LINK","MEDIA","RESOURCE","WIDGET","CONTAINER"].includes(x)){x="type resourceType resourceId displayLabel displayImage displayParentName useResourceName label resourceName modelId viewId parentName parentType parentId displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "); var B="type linkType parentName parentType parentId resourceType resourceId resourceName modelId metric1Min metric1Max metric2Min metric2Max metricName1 metricName2 displayPercent".split(" "),C="type mediaType newTab elementUrl imageName centreonImageId label".split(" "),E="type widgetType resourceType useFontStatusColor useBackgroundStatusColor applyStatusColor resourceId pieChartInnerRadius useFontStatusColor pieChartDisplayLabel pieChartExplosion outputWidgetFormat chartDisplayThreshold chartFillLines chartNbPoints chartPeriod chartShowGrid chartStack displayLegend hiddenLine metric1Max metric1Min metricName1 metric2Max metric2Min metricName2 metricsColorStart metricsColorEnd parentName parentType parentId displayPercent resourceName orientation useResourceName displayLabel displayParentName label".split(" "), I="type modelId viewId imageName centreonImageId label displayLabel displayImage displayWeatherStatusBackgroundColor useBackgroundStatusColor".split(" "),F=[];void 0!==q.getAttribute("resourceType")&&(F=k(x));void 0!==q.getAttribute("linkType")&&(F=k(B));void 0!==q.getAttribute("mediaType")&&(F=k(C));void 0!==q.getAttribute("widgetType")&&(F=k(E));"CONTAINER"===q.getAttribute("type")&&(F=k(I));parent.postMessage(JSON.stringify({mxObject:F,mxStyle:q.getStyle(),event:"setShowWizardShapeProperties"}), "*")}}},null,null,Editor.ctrlKey+"+E");this.addAction("editCentreonStyle",function(){var k=d.getSelectionCells()||d.getModel().getRoot();if(k){var q=["RESOURCE","CONTAINER"];k=k.filter(function(x){x=x.getAttribute("type");return q.includes(x)});1>k.length||(1===k.length?(k=d.getCellStyle(k[0]).style,parent.postMessage(JSON.stringify({mxObject:[{type:"RESOURCE_AND_CONTAINER"}],mxStyle:k||"ICON",event:"setCentreonStyle"}),"*")):parent.postMessage(JSON.stringify({mxObject:[{type:"RESOURCE_AND_CONTAINER"}], @@ -3488,9 +3488,9 @@ q="1";null!=k&&null!=d.getFoldingImage(k)&&(q="0");d.setCellStyles("collapsible" if(q instanceof mxEdgeHandler){var x=d.view.translate,B=d.view.scale,C=x.x;x=x.y;k=d.getModel().getParent(k);for(var E=d.getCellGeometry(k);d.getModel().isVertex(k)&&null!=E;)C+=E.x,x+=E.y,k=d.getModel().getParent(k),E=d.getCellGeometry(k);C=Math.round(d.snap(d.popupMenuHandler.triggerX/B-C));B=Math.round(d.snap(d.popupMenuHandler.triggerY/B-x));q.addPointAt(q.state,C,B)}}});this.addAction("removeWaypoint",function(){var k=e.actions.get("removeWaypoint");null!=k.handler&&k.handler.removePoint(k.handler.state, k.index)});this.addAction("clearWaypoints",function(k,q){k=null!=q?q:k;var x=d.getSelectionCells();if(null!=x){x=d.getEditableCells(d.addAllEdges(x));d.getModel().beginUpdate();try{for(var B=0;B"];for(var T=0;T");for(var P=0;P
");O.push("")}O.push("");E=O.join("");S.call(F,E);E=F.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(S=E.length-1;0<=S;S--)if(0==S||E[S]!=C[S-1]){F.selectNode(E[S].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,m=null,n=null;null==f&&(a.div.className+=" geToolbarMenu", +Menus.prototype.addInsertTableItem=function(a,b,f,e){function g(C){n=d.getParentByName(mxEvent.getSource(C),"TD");var E=!1;if(null!=n){m=d.getParentByName(n,"TR");var I=mxEvent.isMouseEvent(C)?2:4,F=x,O=Math.min(20,m.sectionRowIndex+I);I=Math.min(20,n.cellIndex+I);for(var T=F.rows.length;T"];for(var S=0;S");for(var P=0;P
");O.push("")}O.push("");E=O.join("");T.call(F,E);E=F.cellEditor.textarea.getElementsByTagName("table");if(E.length==C.length+1)for(T=E.length-1;0<=T;T--)if(0==T||E[T]!=C[T-1]){F.selectNode(E[T].rows[0].cells[0]);break}}});var d=this.editorUi.editor.graph,m=null,n=null;null==f&&(a.div.className+=" geToolbarMenu", a.labels=!1);a=a.addItem("",null,null,f,null,null,null,!0);a.firstChild.style.fontSize=Menus.prototype.defaultFontSize+"px";f=a.getElementsByTagName("td");1d.div.clientHeight&&(d.div.style.width="40px");d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);this.editorUi.resetCurrentMenu(); d.destroy()});var t=mxUtils.getOffset(a);d.popup(t.x,t.y+a.offsetHeight,null,n);this.editorUi.setCurrentMenu(d,a)}m=!0;mxEvent.consume(n)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(n){m=null==d||null==d.div||null==d.div.parentNode;n.preventDefault()}))}};Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.style.maxWidth="100%";a.frameBorder="0";a.setAttribute("width",(Editor.useLocalStorage?640:320)+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog=function(a,b,f,e){function g(){var I=m.value;/(^#?[a-zA-Z0-9]*$)/.test(I)? ("none"!=I&&"#"!=I.charAt(0)&&(I="#"+I),ColorDialog.addRecentColor("none"!=I?I.substring(1):I,12),n(I),a.hideDialog()):a.handleError({message:mxResources.get("invalidInput")})}function d(){var I=q(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);I.style.marginBottom="8px";return I}this.editorUi=a;var m=document.createElement("input");m.style.marginBottom="10px";mxClient.IS_IE&&(m.style.marginTop="10px",document.body.appendChild(m));var n=null!=f?f:this.createApplyFunction(); -this.init=function(){mxClient.IS_TOUCH||m.focus()};var t=new mxJSColor.color(m);t.pickerOnfocus=!1;t.showPicker();f=document.createElement("div");mxJSColor.picker.box.style.position="relative";mxJSColor.picker.box.style.width="230px";mxJSColor.picker.box.style.height="100px";mxJSColor.picker.box.style.paddingBottom="10px";f.appendChild(mxJSColor.picker.box);var k=document.createElement("center"),q=mxUtils.bind(this,function(I,F,O,S){F=null!=F?F:12;var T=document.createElement("table");T.style.borderCollapse= -"collapse";T.setAttribute("cellspacing","0");T.style.marginBottom="20px";T.style.cellSpacing="0px";T.style.marginLeft="1px";var P=document.createElement("tbody");T.appendChild(P);for(var ba=I.length/F,U=0;UMAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var e=a.editor.graph,g=e.getGraphBounds(),d=e.view.scale,m=Math.ceil(g.width/ +var ExportDialog=function(a){function b(){var R=q.value,X=R.lastIndexOf(".");q.value=0MAX_AREA||0>=C.value?"red":"";E.style.backgroundColor=C.value*E.value>MAX_AREA||0>=E.value?"red":""}var e=a.editor.graph,g=e.getGraphBounds(),d=e.view.scale,m=Math.ceil(g.width/ d),n=Math.ceil(g.height/d);d=document.createElement("table");var t=document.createElement("tbody");d.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");g=document.createElement("tr");var k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");g.appendChild(k);var q=document.createElement("input");q.setAttribute("value",a.editor.getOrCreateFilename());q.style.width="180px";k=document.createElement("td");k.appendChild(q);g.appendChild(k); t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");g.appendChild(k);var x=document.createElement("select");x.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));x.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),x.appendChild(k)); k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));x.appendChild(k);a.printPdfExport||(k=document.createElement("option"),k.setAttribute("value","pdf"),mxUtils.write(k,mxResources.get("formatPdf")),x.appendChild(k));k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));x.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k, @@ -3649,25 +3649,25 @@ k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResourc "180px";k=document.createElement("td");k.appendChild(E);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("dpi")+":");g.appendChild(k);var I=document.createElement("select");I.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");I.appendChild(k); k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","400");mxUtils.write(k,"400dpi");I.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));I.appendChild(k);var F=document.createElement("input");F.style.width="180px";F.style.display="none";F.setAttribute("value","100");F.setAttribute("type","number");F.setAttribute("min", "50");F.setAttribute("step","50");var O=!1;mxEvent.addListener(I,"change",function(){"custom"==this.value?(this.style.display="none",F.style.display="",F.focus()):(F.value=this.value,O||(B.value=this.value))});mxEvent.addListener(F,"change",function(){var R=parseInt(F.value);isNaN(R)||0>=R?F.style.backgroundColor="red":(F.style.backgroundColor="",O||(B.value=R))});k=document.createElement("td");k.appendChild(I);k.appendChild(F);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td"); -k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");g.appendChild(k);var S=document.createElement("input");S.setAttribute("type","checkbox");S.checked=null==e.background||e.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(S);mxUtils.write(k,mxResources.get("transparent"));g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");g.appendChild(k); -var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=!1;k=document.createElement("td");k.appendChild(T);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");g.appendChild(k);var P=document.createElement("input");P.setAttribute("type","number");P.setAttribute("value",ExportDialog.lastBorderValue);P.style.width="180px";k=document.createElement("td");k.appendChild(P); +k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");g.appendChild(k);var T=document.createElement("input");T.setAttribute("type","checkbox");T.checked=null==e.background||e.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(T);mxUtils.write(k,mxResources.get("transparent"));g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("grid")+":");g.appendChild(k); +var S=document.createElement("input");S.setAttribute("type","checkbox");S.checked=!1;k=document.createElement("td");k.appendChild(S);g.appendChild(k);t.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");g.appendChild(k);var P=document.createElement("input");P.setAttribute("type","number");P.setAttribute("value",ExportDialog.lastBorderValue);P.style.width="180px";k=document.createElement("td");k.appendChild(P); g.appendChild(k);t.appendChild(g);d.appendChild(t);mxEvent.addListener(x,"change",b);b();mxEvent.addListener(B,"change",function(){O=!0;var R=Math.max(0,parseFloat(B.value)||100)/100;B.value=parseFloat((100*R).toFixed(2));0=parseInt(B.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var R=q.value,X=x.value,Y=Math.max(0,parseFloat(B.value)||100)/ -100,da=Math.max(0,parseInt(P.value)),la=e.background,J=Math.max(1,parseInt(F.value));if(("svg"==X||"png"==X||"pdf"==X)&&S.checked)la=null;else if(null==la||la==mxConstants.NONE)la="#ffffff";ExportDialog.lastBorderValue=da;ExportDialog.exportFile(a,R,X,la,Y,da,J,T.checked)}}));ba.className="geBtn gePrimaryBtn";var U=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});U.className="geBtn";a.editor.cancelFirst?(k.appendChild(U),k.appendChild(ba)):(k.appendChild(ba),k.appendChild(U)); +100,da=Math.max(0,parseInt(P.value)),la=e.background,J=Math.max(1,parseInt(F.value));if(("svg"==X||"png"==X||"pdf"==X)&&T.checked)la=null;else if(null==la||la==mxConstants.NONE)la="#ffffff";ExportDialog.lastBorderValue=da;ExportDialog.exportFile(a,R,X,la,Y,da,J,S.checked)}}));ba.className="geBtn gePrimaryBtn";var U=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});U.className="geBtn";a.editor.cancelFirst?(k.appendChild(U),k.appendChild(ba)):(k.appendChild(ba),k.appendChild(U)); g.appendChild(k);t.appendChild(g);d.appendChild(t);this.container=d};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; ExportDialog.exportFile=function(a,b,f,e,g,d,m,n){n=a.editor.graph;if("xml"==f)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,f);else if("svg"==f)ExportDialog.saveLocalFile(a,mxUtils.getXml(n.getSvg(e,g,d)),b,f);else{var t=n.getGraphBounds(),k=mxUtils.createXmlDocument(),q=k.createElement("output");k.appendChild(q);k=new mxXmlCanvas2D(q);k.translate(Math.floor((d/g-t.x)/n.view.scale),Math.floor((d/g-t.y)/n.view.scale));k.scale(g/n.view.scale);(new mxImageExport).drawState(n.getView().getState(n.model.root), k);q="xml="+encodeURIComponent(mxUtils.getXml(q));k=Math.ceil(t.width*g/n.view.scale+2*d);g=Math.ceil(t.height*g/n.view.scale+2*d);q.length<=MAX_REQUEST_SIZE&&k*gR.name?1:0});if(null!=E){q=document.createElement("div");q.style.width= -"100%";q.style.fontSize="11px";q.style.textAlign="center";mxUtils.write(q,E);var S=k.addField(mxResources.get("id")+":",q);mxEvent.addListener(q,"dblclick",function(U){mxEvent.isShiftDown(U)&&(U=new FilenameDialog(a,E,mxResources.get("apply"),mxUtils.bind(this,function(R){null!=R&&0U.indexOf(":"))try{var R= -mxUtils.indexOf(x,U);if(0<=R&&null!=B[R])B[R].focus();else{d.cloneNode(!1).setAttribute(U,"");0<=R&&(x.splice(R,1),B.splice(R,1));x.push(U);var X=k.addTextarea(U+":","",2);X.style.width="100%";B.push(X);I(X,U);X.focus()}P.setAttribute("disabled","disabled");T.value=""}catch(Y){mxUtils.alert(Y)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(T,"keypress",function(U){13==U.keyCode&&P.click()});this.init=function(){0U.indexOf(":"))try{var R= +mxUtils.indexOf(x,U);if(0<=R&&null!=B[R])B[R].focus();else{d.cloneNode(!1).setAttribute(U,"");0<=R&&(x.splice(R,1),B.splice(R,1));x.push(U);var X=k.addTextarea(U+":","",2);X.style.width="100%";B.push(X);I(X,U);X.focus()}P.setAttribute("disabled","disabled");S.value=""}catch(Y){mxUtils.alert(Y)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(S,"keypress",function(U){13==U.keyCode&&P.click()});this.init=function(){0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, -0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75, -1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];La.prototype.constraints=mxRectangleShape.prototype.constraints; -mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};t.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};m.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style, -"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-n)));return c};d.prototype.getConstraints=function(c,l,v){c=[];l=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1, -0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,1),!1,null,0,.29*-l));c.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-l));return c};g.prototype.getConstraints= -function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(c.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0)),c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};Na.prototype.constraints=mxRectangleShape.prototype.constraints;G.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxEllipse.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints; -pa.prototype.constraints=mxEllipse.prototype.constraints;Ua.prototype.constraints=mxEllipse.prototype.constraints;Pa.prototype.constraints=mxRectangleShape.prototype.constraints;Sa.prototype.constraints=mxRectangleShape.prototype.constraints;Ha.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(l,v/2),u=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};xa.prototype.getConstraints=function(c,l,v){l=parseFloat(mxUtils.getValue(c, -"jettyWidth",xa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",xa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,3.5*c))];v>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));v>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1,null,l));v>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};aa.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, -.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];Z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75, -.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];qa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, -.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0, -.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];f.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25, -.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1, -.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];ra.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0, -.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5, -0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1, -.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375, -1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];P.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, -0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;db.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style, -"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*l+.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l+n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*u));return c};Ka.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -1),!1));return c};ya.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints= -function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));return c};x.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};Da.prototype.getConstraints= -function(c,l,v){c=[];var n=Math.min(v,l),u=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(v-u)/2;var z=n+u,A=(l-u)/2;u=A+u;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,u,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,n));return c};ca.prototype.constraints=null;L.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, -.9),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];oa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];sa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, -.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(b){this.editorUi=b;this.actions={};this.init()} +null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=ub[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=ub[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){if("LINK"===this.state.cell.getAttribute("type"))return null;var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&& +null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=ub[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xb=new mxPoint(1,0),zb=new mxPoint(1,0),qb=mxUtils.toRadians(-30);xb=mxUtils.getRotatedPoint(xb,Math.cos(qb),Math.sin(qb));var yb=mxUtils.toRadians(-150);zb=mxUtils.getRotatedPoint(zb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,v,n,u){var z=c.view;n=null!=n&&0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25, +0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25, +1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0, +.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];La.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style, +"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5, +1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};t.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5, +0),!1));return c};m.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-n)));return c};d.prototype.getConstraints=function(c,l,v){c=[];l=Math.max(0,Math.min(v, +parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0, +1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855, +1),!1,null,0,.29*-l));c.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-l));return c};g.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(c.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,u)),c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*(l-n),u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, +0,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};Na.prototype.constraints=mxRectangleShape.prototype.constraints;G.prototype.constraints= +mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxEllipse.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints;pa.prototype.constraints=mxEllipse.prototype.constraints;Ua.prototype.constraints=mxEllipse.prototype.constraints;Pa.prototype.constraints=mxRectangleShape.prototype.constraints;Sa.prototype.constraints=mxRectangleShape.prototype.constraints;Ha.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(l,v/2),u=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style, +"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,u,v));return c};xa.prototype.getConstraints=function(c,l,v){l=parseFloat(mxUtils.getValue(c,"jettyWidth",xa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",xa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1, +.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v- +.5*c,3.5*c))];v>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));v>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,l));v>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};aa.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0), +new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];Z.prototype.constraints= +[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];qa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];f.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];ra.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5, +1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75, +.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, +.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13, +.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];P.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25, +0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;db.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0, +Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1, +null,.75*l+.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0), +!1,null,.5*(l-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*u));return c};Ka.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0), +!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return c};ya.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75, +.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));return c};x.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1, +parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5), +!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};Da.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(v,l),u=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(v-u)/2;var z=n+u,A=(l-u)/2;u=A+u;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,A,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),z));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,n));return c};ca.prototype.constraints=null;L.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7, +.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];oa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];sa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(b){this.editorUi=b;this.actions={};this.init()} Actions.prototype.init=function(){function b(D){p.escape();var H=p.getDeletableCells(p.getSelectionCells());null!=H&&0Math.abs(D-p.view.scale)&&H==p.container.scrollLeft&&N==p.container.scrollTop&&d==p.view.translate.x&&f==p.view.translate.y&&m.actions.get(p.pageVisible?"fitPage": diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js index 0b02d1ac3b..12e3b7f1de 100644 --- a/src/main/webapp/js/viewer.min.js +++ b/src/main/webapp/js/viewer.min.js @@ -2917,60 +2917,60 @@ Math.round(Math.max(0,Math.min(l.height,v.y-l.y)))},!1)]},singleArrow:mb(1),doub return new mxPoint(l.getCenterX(),l.y+(1-v)*l.height)},function(l,v){this.state.style.size=Math.max(0,Math.min(1,(l.y+l.height-v.y)/l.height))},!1)]},"mxgraph.basic.rect":function(c){var l=[Graph.createHandle(c,["size"],function(v){var n=Math.max(0,Math.min(v.width/2,v.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(v.x+n,v.y+n)},function(v,n){this.state.style.size=Math.round(100*Math.max(0,Math.min(v.height/2,v.width/2,n.x-v.x)))/100})];c=Graph.createHandle(c, ["indent"],function(v){var n=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"indent",this.dx2))));return new mxPoint(v.x+.75*v.width,v.y+n*v.height/200)},function(v,n){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(n.y-v.y)/v.height)))/100});l.push(c);return l},step:pb(ra.prototype.size,!0,null,!0,ra.prototype.fixedSize),hexagon:pb(R.prototype.size,!0,.5,!0,R.prototype.fixedSize),curlyBracket:pb(X.prototype.size,!1),display:pb(Ha.prototype.size,!1),cube:vb(1, m.prototype.size,!1),card:vb(.5,t.prototype.size,!0),loopLimit:vb(.5,aa.prototype.size,!0),trapezoid:ob(.5,M.prototype.size,M.prototype.fixedSize),parallelogram:ob(1,P.prototype.size,P.prototype.fixedSize)};Graph.createHandle=ib;Graph.handleFactory=ub;var Cb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=Cb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var l=this.state.style.shape;null==mxCellRenderer.defaultShapes[l]&& -null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=ub[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=ub[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR); -c=ub[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xb=new mxPoint(1,0),zb=new mxPoint(1,0),qb=mxUtils.toRadians(-30);xb=mxUtils.getRotatedPoint(xb,Math.cos(qb),Math.sin(qb));var yb=mxUtils.toRadians(-150);zb=mxUtils.getRotatedPoint(zb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,v,n,u){var z=c.view;n=null!=n&&0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, -0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75, -1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];La.prototype.constraints=mxRectangleShape.prototype.constraints; -mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};t.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};m.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style, -"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-n)));return c};d.prototype.getConstraints=function(c,l,v){c=[];l=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1, -0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,1),!1,null,0,.29*-l));c.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-l));return c};g.prototype.getConstraints= -function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(c.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0)),c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};Na.prototype.constraints=mxRectangleShape.prototype.constraints;G.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxEllipse.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints; -pa.prototype.constraints=mxEllipse.prototype.constraints;Ua.prototype.constraints=mxEllipse.prototype.constraints;Pa.prototype.constraints=mxRectangleShape.prototype.constraints;Sa.prototype.constraints=mxRectangleShape.prototype.constraints;Ha.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(l,v/2),u=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};xa.prototype.getConstraints=function(c,l,v){l=parseFloat(mxUtils.getValue(c, -"jettyWidth",xa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",xa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,3.5*c))];v>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));v>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1,null,l));v>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};aa.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, -.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];Z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75, -.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];qa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0, -.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0, -.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];f.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25, -.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1, -.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];ra.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0, -.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5, -0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1, -.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375, -1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55, -.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];P.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75, -0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;db.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style, -"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*l+.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(l+n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*u));return c};Ka.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -1),!1));return c};ya.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints= -function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));return c};x.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0, -.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};Da.prototype.getConstraints= -function(c,l,v){c=[];var n=Math.min(v,l),u=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(v-u)/2;var z=n+u,A=(l-u)/2;u=A+u;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,u,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),n));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,n));return c};ca.prototype.constraints=null;L.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7, -.9),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];oa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];sa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, -.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(b){this.editorUi=b;this.actions={};this.init()} +null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=ub[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=ub[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){if("LINK"===this.state.cell.getAttribute("type"))return null;var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&& +null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);c=ub[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xb=new mxPoint(1,0),zb=new mxPoint(1,0),qb=mxUtils.toRadians(-30);xb=mxUtils.getRotatedPoint(xb,Math.cos(qb),Math.sin(qb));var yb=mxUtils.toRadians(-150);zb=mxUtils.getRotatedPoint(zb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,v,n,u){var z=c.view;n=null!=n&&0=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25, +0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25, +1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0, +.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];La.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;T.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style, +"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5, +1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};t.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),0));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));l>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5, +0),!1));return c};m.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,l,.5*(v+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-n)));return c};d.prototype.getConstraints=function(c,l,v){c=[];l=Math.max(0,Math.min(v, +parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0, +1),!1,null,0,-l));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,l+.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-l-.5*(.5*v-l)));c.push(new mxConnectionConstraint(new mxPoint(.145,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855,0),!1,null,0,.29*l));c.push(new mxConnectionConstraint(new mxPoint(.855, +1),!1,null,0,.29*-l));c.push(new mxConnectionConstraint(new mxPoint(.145,1),!1,null,0,.29*-l));return c};g.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(c.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u))):(c.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-.5*n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0)),c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,u)),c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*(l-n),u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null, +0,.25*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.75*(v-u)+u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return c};Na.prototype.constraints=mxRectangleShape.prototype.constraints;G.prototype.constraints= +mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxEllipse.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints;pa.prototype.constraints=mxEllipse.prototype.constraints;Ua.prototype.constraints=mxEllipse.prototype.constraints;Pa.prototype.constraints=mxRectangleShape.prototype.constraints;Sa.prototype.constraints=mxRectangleShape.prototype.constraints;Ha.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(l,v/2),u=Math.min(l-n,Math.max(0,parseFloat(mxUtils.getValue(this.style, +"size",this.size)))*l);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(u+l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,u,v));return c};xa.prototype.getConstraints=function(c,l,v){l=parseFloat(mxUtils.getValue(c,"jettyWidth",xa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",xa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1, +.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,l),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(v- +.5*c,3.5*c))];v>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,l));v>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,l));v>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,l));return n};aa.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0), +new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];Z.prototype.constraints= +[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];qa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];f.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];ra.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5, +1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75, +.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5, +0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, +.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13, +.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];P.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25, +0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;db.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0, +Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1, +null,.75*l+.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-n),.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0,0), +!1,null,.5*(l-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*u));return c};Ka.prototype.getConstraints=function(c,l,v){c=[];var n=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),u=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0), +!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,.5*u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(v+u)));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,n,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,v));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return c};ya.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75, +.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-u),v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-n));return c};x.prototype.getConstraints=function(c,l,v){c=[];var n=v*Math.max(0,Math.min(1, +parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),u=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));n=(v-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5), +!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,v-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v));return c};Da.prototype.getConstraints=function(c,l,v){c=[];var n=Math.min(v,l),u=Math.max(0,Math.min(n,n*parseFloat(mxUtils.getValue(this.style,"size",this.size))));n=(v-u)/2;var z=n+u,A=(l-u)/2;u=A+u;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,A,0));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,v));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,u,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,v-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,u,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,n));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+u),z));c.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*A,z));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,A,n));return c};ca.prototype.constraints=null;L.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7, +.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];oa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];sa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(b){this.editorUi=b;this.actions={};this.init()} Actions.prototype.init=function(){function b(D){p.escape();var H=p.getDeletableCells(p.getSelectionCells());null!=H&&0Math.abs(D-p.view.scale)&&H==p.container.scrollLeft&&N==p.container.scrollTop&&d==p.view.translate.x&&f==p.view.translate.y&&m.actions.get(p.pageVisible?"fitPage":