UNPKG

@zklogic/draw.io

Version:

Draw.IO - Graph Editor integration in Angular-cli

1 lines 108 kB
function Sidebar(e,t){this.editorUi=e,this.container=t,this.palettes=new Object,this.taglist=new Object,this.lastCreated=0,this.showTooltips=!0,this.graph=e.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet()),this.graph.cellRenderer.minSvgStrokeWidth=this.minThumbStrokeWidth,this.graph.cellRenderer.antiAlias=this.thumbAntiAlias,this.graph.container.style.visibility="hidden",this.graph.foldingEnabled=!1,e.container.appendChild(this.graph.container)||document.body.appendChild(this.graph.container),this.pointerUpHandler=mxUtils.bind(this,(function(){null!=this.tooltipCloseImage&&"none"!=this.tooltipCloseImage.style.display||(this.showTooltips=!0,this.hideTooltip())})),mxEvent.addListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerDownHandler=mxUtils.bind(this,(function(){null!=this.tooltipCloseImage&&"none"!=this.tooltipCloseImage.style.display||(this.showTooltips=!1,this.hideTooltip())})),mxEvent.addListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler),this.pointerMoveHandler=mxUtils.bind(this,(function(e){if(Date.now()-this.lastCreated>300&&(null==this.tooltipCloseImage||"none"==this.tooltipCloseImage.style.display)){for(var t=mxEvent.getSource(e);null!=t;){if(t==this.currentElt)return;t=t.parentNode}this.hideTooltip()}})),mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerOutHandler=mxUtils.bind(this,(function(e){null==e.toElement&&null==e.relatedTarget&&this.hideTooltip()})),mxEvent.addListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),mxEvent.addListener(t,"scroll",mxUtils.bind(this,(function(){this.showTooltips=!0,this.hideTooltip()}))),this.init()}Sidebar.prototype.init=function(){var e=STENCIL_PATH;this.addSearchPalette(!0),this.addGeneralPalette(!0),this.addMiscPalette(!1),this.addAdvancedPalette(!1),this.addBasicPalette(e),this.setCurrentSearchEntryLibrary("arrows"),this.addStencilPalette("arrows",mxResources.get("arrows"),e+"/arrows.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2"),this.setCurrentSearchEntryLibrary(),this.addUmlPalette(!1),null!=this.addBpmnPalette&&this.addBpmnPalette(e,!1),this.setCurrentSearchEntryLibrary("flowchart"),this.addStencilPalette("flowchart","Flowchart",e+"/flowchart.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2"),this.setCurrentSearchEntryLibrary(),this.setCurrentSearchEntryLibrary("clipart"),this.addImagePalette("clipart",mxResources.get("clipart"),e+"/clipart/","_128x128.png",["Earth_globe","Empty_Folder","Full_Folder","Gear","Lock","Software","Virus","Email","Database","Router_Icon","iPad","iMac","Laptop","MacBook","Monitor_Tower","Printer","Server_Tower","Workstation","Firewall_02","Wireless_Router_N","Credit_Card","Piggy_Bank","Graph","Safe","Shopping_Cart","Suit1","Suit2","Suit3","Pilot1","Worker1","Soldier1","Doctor1","Tech1","Security1","Telesales1"],null,{Wireless_Router_N:"wireless router switch wap wifi access point wlan",Router_Icon:"router switch"}),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.collapsedImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQANAIABAJmZmf///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNUQyRTJFNjZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNUQyRTJFNzZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFERjc3MEUxNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFERjc3MEUyNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhSMj6lrwAjcC1GyahV+dcZJgeIIFgA7":IMAGE_PATH+"/collapsed.gif",Sidebar.prototype.expandedImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDQANAIABAJmZmf///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxREY3NzBERjZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxREY3NzBFMDZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFERjc3MERENkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFERjc3MERFNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhGMj6nL3QAjVHIu6azbvPtWAAA7":IMAGE_PATH+"/expanded.gif",Sidebar.prototype.searchImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEaSURBVHjabNGxS5VxFIfxz71XaWuQUJCG/gCHhgTD9VpEETg4aMOlQRp0EoezObgcd220KQiXmpretTAHQRBdojlQEJyukPdt+b1ywfvAGc7wnHP4nlZd1yKijQW8xzNc4Su+ZOYfQ3T6/f4YNvEJYzjELXp4VVXVz263+7cR2niBxAFeZ2YPi3iHR/gYERPDwhpOsd6sz8x/mfkNG3iOlWFhFj8y89J9KvzGXER0GuEaD42mgwHqUtoljbcRsTBCeINpfM/MgZLKPpaxFxGbOCqDXmILN7hoJrTKH+axhxmcYRxP0MIDnOBDZv5q1XUNIuJxifJp+UNV7t7BFM6xeic0RMQ4Bpl5W/ol7GISx/eEUUTECrbx+f8A8xhiZht9zsgAAAAASUVORK5CYII=":IMAGE_PATH+"/search.png",Sidebar.prototype.enableTooltips=!0,Sidebar.prototype.tooltipBorder=16,Sidebar.prototype.tooltipDelay=300,Sidebar.prototype.dropTargetDelay=200,Sidebar.prototype.gearImage=STENCIL_PATH+"/clipart/Gear_128x128.png",Sidebar.prototype.thumbWidth=42,Sidebar.prototype.thumbHeight=42,Sidebar.prototype.minThumbStrokeWidth=1,Sidebar.prototype.thumbAntiAlias=!1,Sidebar.prototype.thumbPadding=document.documentMode>=5?2:3,Sidebar.prototype.thumbBorder=2,"large"!=urlParams["sidebar-entries"]&&(Sidebar.prototype.thumbPadding=document.documentMode>=5?0:1,Sidebar.prototype.thumbBorder=1,Sidebar.prototype.thumbWidth=32,Sidebar.prototype.thumbHeight=30,Sidebar.prototype.minThumbStrokeWidth=1.3,Sidebar.prototype.thumbAntiAlias=!0),Sidebar.prototype.sidebarTitleSize=8,Sidebar.prototype.sidebarTitles=!1,Sidebar.prototype.tooltipTitles=!0,Sidebar.prototype.maxTooltipWidth=400,Sidebar.prototype.maxTooltipHeight=400,Sidebar.prototype.addStencilsToIndex=!0,Sidebar.prototype.defaultImageWidth=80,Sidebar.prototype.defaultImageHeight=80,Sidebar.prototype.tooltipMouseDown=null,Sidebar.prototype.getTooltipOffset=function(e,t){var l=document.body,i=document.documentElement,r=Math.max(l.clientHeight||0,i.clientHeight),n=(t.width,this.tooltipBorder,t.height+2*this.tooltipBorder);return new mxPoint(this.container.offsetWidth+this.editorUi.splitSize+10+this.editorUi.container.offsetLeft,Math.min(r-n-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+e.offsetTop-this.container.scrollTop-n/2+16)))},Sidebar.prototype.createTooltip=function(e,t,l,i,r,n,a,o,s,h,p){if(p=null==p||p,this.tooltipMouseDown=s,null==this.tooltip){this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.userSelect="none",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,this.editorUi.container.appendChild(this.tooltip)||document.body.appendChild(this.tooltip),mxEvent.addMouseWheelListener(mxUtils.bind(this,(function(e){this.hideTooltip()})),this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()),this.graph2.resetViewOnRootChange=!1,this.graph2.foldingEnabled=!1,this.graph2.gridEnabled=!1,this.graph2.autoScroll=!1,this.graph2.setTooltips(!1),this.graph2.setConnectable(!1),this.graph2.setPanning(!1),this.graph2.setEnabled(!1),this.graph2.openLink=mxUtils.bind(this,(function(){this.hideTooltip()})),mxEvent.addGestureListeners(this.tooltip,mxUtils.bind(this,(function(e){null!=this.tooltipMouseDown&&this.tooltipMouseDown(e),window.setTimeout(mxUtils.bind(this,(function(){null!=this.tooltipCloseImage&&"none"!=this.tooltipCloseImage.style.display||this.hideTooltip()})),0)})),null,mxUtils.bind(this,(function(e){this.hideTooltip()}))),mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative");var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.style.position="absolute",m.style.cursor="default",m.style.padding="8px",m.style.right="2px",m.style.top="2px",this.tooltip.appendChild(m),this.tooltipCloseImage=m,mxEvent.addListener(m,"click",mxUtils.bind(this,(function(e){this.hideTooltip(),mxEvent.consume(e)})))}this.tooltipCloseImage.style.display=h?"":"none",this.graph2.model.clear(),this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder),!o&&(l>this.maxTooltipWidth||i>this.maxTooltipHeight)?this.graph2.view.scale=Math.round(100*Math.min(this.maxTooltipWidth/l,this.maxTooltipHeight/i))/100:this.graph2.view.scale=1,this.tooltip.style.display="block",this.graph2.labelsVisible=null==n||n;var d=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;var c=this.graph2.cloneCells(t);this.editorUi.insertHandler(c,null,this.graph2.model,p?null:this.editorUi.editor.graph.defaultVertexStyle,p?null:this.editorUi.editor.graph.defaultEdgeStyle,p,!0),this.graph2.addCells(c),mxClient.NO_FO=d;var u=this.graph2.getGraphBounds();if(o&&l>0&&i>0&&(u.width>l||u.height>i)){var g=Math.round(100*Math.min(l/u.width,i/u.height))/100;mxClient.NO_FO?(this.graph2.view.setScale(Math.round(100*Math.min(this.maxTooltipWidth/u.width,this.maxTooltipHeight/u.height))/100),u=this.graph2.getGraphBounds()):(this.graph2.view.getDrawPane().ownerSVGElement.style.transform="scale("+g+")",this.graph2.view.getDrawPane().ownerSVGElement.style.transformOrigin="0 0",u.width*=g,u.height*=g)}else mxClient.NO_FO||(this.graph2.view.getDrawPane().ownerSVGElement.style.transform="");var y=u.width+2*this.tooltipBorder+4,x=u.height+2*this.tooltipBorder;this.tooltip.style.overflow="visible",this.tooltip.style.width=y+"px";var w=y;if(this.tooltipTitles&&null!=r&&r.length>0){null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center",this.tooltipTitle.style.width="100%",this.tooltipTitle.style.overflow="hidden",this.tooltipTitle.style.position="absolute",this.tooltipTitle.style.paddingTop="6px",this.tooltipTitle.style.bottom="6px",this.tooltip.appendChild(this.tooltipTitle)):this.tooltipTitle.innerHTML="",this.tooltipTitle.style.display="",mxUtils.write(this.tooltipTitle,r),w=Math.min(this.maxTooltipWidth,Math.max(y,this.tooltipTitle.scrollWidth+4));var f=this.tooltipTitle.offsetHeight+10;x+=f,mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-f+"px":(x-=6,this.tooltipTitle.style.top=x-f+"px")}else null!=this.tooltipTitle&&null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");w>y&&(this.tooltip.style.width=w+"px"),this.tooltip.style.height=x+"px";var b=-Math.round(u.x-this.tooltipBorder)+(w>y?(w-y)/2:0),v=-Math.round(u.y-this.tooltipBorder),E=(a=null!=a?a:this.getTooltipOffset(e,u)).x,C=a.y;mxClient.IS_SVG?0!=b||0!=v?this.graph2.view.canvas.setAttribute("transform","translate("+b+","+v+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=b+"px",this.graph2.view.drawPane.style.top=v+"px"),this.tooltip.style.position="absolute",this.tooltip.style.left=E+"px",this.tooltip.style.top=C+"px",mxUtils.fit(this.tooltip),this.lastCreated=Date.now()},Sidebar.prototype.showTooltip=function(e,t,l,i,r,n){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=e){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var a=mxUtils.bind(this,(function(){this.createTooltip(e,t,l,i,r,n)}));null!=this.tooltip&&"none"!=this.tooltip.style.display?a():this.thread=window.setTimeout(a,this.tooltipDelay),this.currentElt=e}},Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null),null!=this.tooltip&&(this.tooltip.style.display="none",this.currentElt=null),this.tooltipMouseDown=null},Sidebar.prototype.addDataEntry=function(e,t,l,i,r){return this.addEntry(e,mxUtils.bind(this,(function(){return this.createVertexTemplateFromData(r,t,l,i)})))},Sidebar.prototype.addEntries=function(e){for(var t=0;t<e.length;t++)mxUtils.bind(this,(function(e){var t=e.data,l=null!=e.title?e.title:"";null!=e.tags&&(l+=" "+e.tags),null!=t&&l.length>0?this.addEntry(l,mxUtils.bind(this,(function(){t=this.editorUi.convertDataUri(t);var l="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";return"fixed"==e.aspect&&(l+="aspect=fixed;"),this.createVertexTemplate(l+"image="+t,e.w,e.h,"",e.title||"",!1,!1,!0)}))):null!=e.xml&&l.length>0&&this.addEntry(l,mxUtils.bind(this,(function(){var t=this.editorUi.stringToCells(Graph.decompress(e.xml));return this.createVertexTemplateFromCells(t,e.w,e.h,e.title||"",!0,!1,!0)})))}))(e[t])},Sidebar.prototype.setCurrentSearchEntryLibrary=function(e,t){this.currentSearchEntryLibrary=null!=e?{id:e,lib:t}:null},Sidebar.prototype.addEntry=function(e,t){if(null!=this.taglist&&null!=e&&e.length>0){null!=this.currentSearchEntryLibrary&&(t.parentLibraries=[this.currentSearchEntryLibrary]);for(var l=e.toLowerCase().replace(/[\/\,\(\)]/g," ").split(" "),i=[],r={},n=0;n<l.length;n++){null==r[l[n]]&&(r[l[n]]=!0,i.push(l[n]));var a=l[n].replace(/\.*\d*$/,"");a!=l[n]&&null==r[a]&&(r[a]=!0,i.push(a))}for(n=0;n<i.length;n++)this.addEntryForTag(i[n],t)}return t},Sidebar.prototype.addEntryForTag=function(e,t){if(null!=e&&e.length>1){var l=this.taglist[e];"object"!=typeof l&&(l={entries:[]},this.taglist[e]=l),l.entries.push(t)}},Sidebar.prototype.searchEntries=function(e,t,l,i,r){if(null!=this.taglist&&null!=e){for(var n=e.toLowerCase().split(" "),a=new mxDictionary,o=(l+1)*t,s=[],h=0,p=0;p<n.length;p++)if(n[p].length>0){var m=this.taglist[n[p]],d=new mxDictionary;if(null!=m){var c=m.entries;s=[];for(var u=0;u<c.length;u++)if(m=c[u],0==h==(null==a.get(m))&&(d.put(m,m),s.push(m),p==n.length-1&&s.length==o))return void i(s.slice(l*t,o),o,!0,n)}else s=[];a=d,h++}var g=s.length;i(s.slice(l*t,(l+1)*t),g,!1,n)}else i([],null,null,n)},Sidebar.prototype.filterTags=function(e){if(null!=e){for(var t=e.split(" "),l=[],i={},r=0;r<t.length;r++)null==i[t[r]]&&(i[t[r]]="1",l.push(t[r]));return l.join(" ")}return null},Sidebar.prototype.cloneCell=function(e,t){var l=e.clone();return null!=t&&(l.value=t),l},Sidebar.prototype.showPopupMenuForEntry=function(e,t,l){},Sidebar.prototype.addSearchPalette=function(e){var t=document.createElement("div");t.style.visibility="hidden",this.container.appendChild(t);var l=document.createElement("div");l.className="geSidebar",l.style.boxSizing="border-box",l.style.overflow="hidden",l.style.width="100%",l.style.padding="8px",l.style.paddingTop="14px",l.style.paddingBottom="0px",e||(l.style.display="none");var i=document.createElement("div");i.style.whiteSpace="nowrap",i.style.textOverflow="clip",i.style.paddingBottom="8px",i.style.cursor="default";var r=document.createElement("input");r.setAttribute("placeholder",mxResources.get("searchShapes")),r.setAttribute("type","text"),r.style.fontSize="12px",r.style.overflow="hidden",r.style.boxSizing="border-box",r.style.border="solid 1px #d5d5d5",r.style.borderRadius="4px",r.style.width="100%",r.style.outline="none",r.style.padding="6px",r.style.paddingRight="20px",i.appendChild(r);var n,a=document.createElement("img");a.setAttribute("src",Sidebar.prototype.searchImage),a.setAttribute("title",mxResources.get("search")),a.style.position="relative",a.style.left="-18px",a.style.top="1px",a.style.background="url('"+this.editorUi.editor.transparentImage+"')",i.appendChild(a),l.appendChild(i);var o=document.createElement("center"),s=mxUtils.button(mxResources.get("moreResults"),(function(){n()}));s.style.display="none",s.style.lineHeight="normal",s.style.fontSize="12px",s.style.padding="6px 12px 6px 12px",s.style.marginTop="4px",s.style.marginBottom="8px",o.style.paddingTop="4px",o.style.paddingBottom="4px",o.appendChild(s),l.appendChild(o);var h="",p=!1,m=!1,d=0,c=new Object,u=12,g=mxUtils.bind(this,(function(){p=!1,this.currentSearch=null;for(var e=l.firstChild;null!=e;){var t=e.nextSibling;e!=i&&e!=o&&e.parentNode.removeChild(e),e=t}}));mxEvent.addListener(a,"click",(function(){a.getAttribute("src")==Dialog.prototype.closeImage&&(a.setAttribute("src",Sidebar.prototype.searchImage),a.setAttribute("title",mxResources.get("search")),s.style.display="none",r.value="",h="",g()),r.focus()})),n=mxUtils.bind(this,(function(){if(u=4*Math.max(1,Math.floor(this.container.clientWidth/(this.thumbWidth+10))),this.hideTooltip(),""!=r.value){if(null!=o.parentNode&&(h!=r.value&&(g(),h=r.value,c=new Object,m=!1,d=0),!p&&!m)){s.setAttribute("disabled","true"),s.style.display="",s.style.cursor="wait",s.innerHTML=mxResources.get("loading")+"...",p=!0;var e=new Object;this.currentSearch=e,this.searchEntries(h,u,d,mxUtils.bind(this,(function(t,i,r,n){if(this.currentSearch==e){t=null!=t?t:[],p=!1,d++,this.insertSearchHint(l,h,u,d,t,i,r,n),0==t.length&&1==d&&(h=""),null!=o.parentNode&&o.parentNode.removeChild(o);for(var a=0;a<t.length;a++)mxUtils.bind(this,(function(e){try{var t=e();null==c[t.innerHTML]?(c[t.innerHTML]=null!=e.parentLibraries?e.parentLibraries.slice():[],l.appendChild(t)):null!=e.parentLibraries&&(c[t.innerHTML]=c[t.innerHTML].concat(e.parentLibraries)),mxEvent.addGestureListeners(t,null,null,mxUtils.bind(this,(function(e){var l=c[t.innerHTML];mxEvent.isPopupTrigger(e)&&this.showPopupMenuForEntry(t,l,e)}))),mxEvent.disableContextMenu(t)}catch(e){}}))(t[a]);r?(s.removeAttribute("disabled"),s.innerHTML=mxResources.get("moreResults")):(s.innerHTML=mxResources.get("reset"),s.style.display="none",m=!0),s.style.cursor="",l.appendChild(o)}})),mxUtils.bind(this,(function(){s.style.cursor=""})))}}else g(),r.value="",h="",c=new Object,s.style.display="none",m=!1,r.focus()})),this.searchShapes=function(e){r.value=e,n()},mxEvent.addListener(r,"keydown",mxUtils.bind(this,(function(e){13==e.keyCode&&(n(),mxEvent.consume(e))}))),mxEvent.addListener(r,"keyup",mxUtils.bind(this,(function(e){""==r.value?(a.setAttribute("src",Sidebar.prototype.searchImage),a.setAttribute("title",mxResources.get("search"))):(a.setAttribute("src",Dialog.prototype.closeImage),a.setAttribute("title",mxResources.get("reset"))),""==r.value?(m=!0,s.style.display="none"):r.value!=h?(s.style.display="none",m=!1):p||(s.style.display=m?"none":"")}))),mxEvent.addListener(r,"mousedown",(function(e){e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0})),mxEvent.addListener(r,"selectstart",(function(e){e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0}));var y=document.createElement("div");y.appendChild(l),this.container.appendChild(y),this.palettes.search=[t,y]},Sidebar.prototype.insertSearchHint=function(e,t,l,i,r,n,a,o){if(0==r.length&&1==i){var s=document.createElement("div");s.className="geTitle",s.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(s,mxResources.get("noResultsFor",[t])),e.appendChild(s)}},Sidebar.prototype.addGeneralPalette=function(e){var t="line lines connector connectors connection connections arrow arrows ";this.setCurrentSearchEntryLibrary("general","general");var l=this,i=parseInt(this.editorUi.editor.graph.defaultVertexStyle.fontSize),r=isNaN(i)?"":"fontSize="+Math.min(16,i)+";",n=new mxCell("List Item",new mxGeometry(0,0,80,30),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;"+r);n.vertex=!0;var a=[this.createVertexTemplateEntry("rounded=0;whiteSpace=wrap;html=1;",120,60,"","Rectangle",null,null,"rect rectangle box"),this.createVertexTemplateEntry("rounded=1;whiteSpace=wrap;html=1;",120,60,"","Rounded Rectangle",null,null,"rounded rect rectangle box"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;",60,30,"Text","Text",null,null,"text textbox textarea label"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;",190,120,"<h1>Heading</h1><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>","Textbox",null,null,"text textbox textarea"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;",120,80,"","Ellipse",null,null,"oval ellipse state"),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Square",null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;",120,60,"","Process",null,null,"process task"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;",80,80,"","Diamond",null,null,"diamond rhombus if condition decision conditional question test"),this.createVertexTemplateEntry("shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,60,"","Parallelogram"),this.createVertexTemplateEntry("shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;",120,80,"","Hexagon",null,null,"hexagon preparation"),this.createVertexTemplateEntry("triangle;whiteSpace=wrap;html=1;",60,80,"","Triangle",null,null,"triangle logic inverter buffer"),this.createVertexTemplateEntry("shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;",60,80,"","Cylinder",null,null,"cylinder data database"),this.createVertexTemplateEntry("ellipse;shape=cloud;whiteSpace=wrap;html=1;",120,80,"","Cloud",null,null,"cloud network"),this.createVertexTemplateEntry("shape=document;whiteSpace=wrap;html=1;boundedLbl=1;",120,80,"","Document"),this.createVertexTemplateEntry("shape=internalStorage;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Internal Storage"),this.createVertexTemplateEntry("shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;",120,80,"","Cube"),this.createVertexTemplateEntry("shape=step;perimeter=stepPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,80,"","Step"),this.createVertexTemplateEntry("shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;",120,60,"","Trapezoid"),this.createVertexTemplateEntry("shape=tape;whiteSpace=wrap;html=1;",120,100,"","Tape"),this.createVertexTemplateEntry("shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;",80,100,"","Note"),this.createVertexTemplateEntry("shape=card;whiteSpace=wrap;html=1;",80,100,"","Card"),this.createVertexTemplateEntry("shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;",120,80,"","Callout",null,null,"bubble chat thought speech message"),this.createVertexTemplateEntry("shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;",30,60,"Actor","Actor",!1,null,"user person human stickman"),this.createVertexTemplateEntry("shape=xor;whiteSpace=wrap;html=1;",60,80,"","Or",null,null,"logic or"),this.createVertexTemplateEntry("shape=or;whiteSpace=wrap;html=1;",60,80,"","And",null,null,"logic and"),this.createVertexTemplateEntry("shape=dataStorage;whiteSpace=wrap;html=1;fixedSize=1;",100,80,"","Data Storage"),this.createVertexTemplateEntry("swimlane;startSize=0;",200,200,"","Container",null,null,"container swimlane lane pool group"),this.createVertexTemplateEntry("swimlane;",200,200,"Vertical Container","Container",null,null,"container swimlane lane pool group"),this.createVertexTemplateEntry("swimlane;horizontal=0;",200,200,"Horizontal Container","Horizontal Container",null,null,"container swimlane lane pool group"),this.addEntry("list group erd table",(function(){var e=new mxCell("List",new mxGeometry(0,0,140,120),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");return e.vertex=!0,e.insert(l.cloneCell(n,"Item 1")),e.insert(l.cloneCell(n,"Item 2")),e.insert(l.cloneCell(n,"Item 3")),l.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"List")})),this.addEntry("list item entry value group erd table",(function(){return l.createVertexTemplateFromCells([l.cloneCell(n,"List Item")],n.geometry.width,n.geometry.height,"List Item")})),this.addEntry("curve",mxUtils.bind(this,(function(){var e=new mxCell("",new mxGeometry(0,0,50,50),"curved=1;endArrow=classic;html=1;");return e.geometry.setTerminalPoint(new mxPoint(0,50),!0),e.geometry.setTerminalPoint(new mxPoint(50,0),!1),e.geometry.points=[new mxPoint(50,50),new mxPoint(0,0)],e.geometry.relative=!0,e.edge=!0,this.createEdgeTemplateFromCells([e],e.geometry.width,e.geometry.height,"Curve")}))),this.createEdgeTemplateEntry("shape=flexArrow;endArrow=classic;startArrow=classic;html=1;",100,100,"","Bidirectional Arrow",null,t+"bidirectional"),this.createEdgeTemplateEntry("shape=flexArrow;endArrow=classic;html=1;",50,50,"","Arrow",null,t+"directional directed"),this.createEdgeTemplateEntry("endArrow=none;dashed=1;html=1;",50,50,"","Dashed Line",null,t+"dashed undirected no"),this.createEdgeTemplateEntry("endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;",50,50,"","Dotted Line",null,t+"dotted undirected no"),this.createEdgeTemplateEntry("endArrow=none;html=1;",50,50,"","Line",null,t+"simple undirected plain blank no"),this.createEdgeTemplateEntry("endArrow=classic;startArrow=classic;html=1;",50,50,"","Bidirectional Connector",null,t+"bidirectional"),this.createEdgeTemplateEntry("endArrow=classic;html=1;",50,50,"","Directional Connector",null,t+"directional directed"),this.createEdgeTemplateEntry("shape=link;html=1;",100,0,"","Link",null,t+"link"),this.addEntry(t+"edge title",mxUtils.bind(this,(function(){var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(100,0),!1),e.geometry.relative=!0,e.edge=!0;var t=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");return t.geometry.relative=!0,t.setConnectable(!1),t.vertex=!0,e.insert(t),this.createEdgeTemplateFromCells([e],100,0,"Connector with Label")}))),this.addEntry(t+"edge title multiplicity",mxUtils.bind(this,(function(){var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.edge=!0;var t=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");t.geometry.relative=!0,t.setConnectable(!1),t.vertex=!0,e.insert(t);var l=new mxCell("Source",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");return l.geometry.relative=!0,l.setConnectable(!1),l.vertex=!0,e.insert(l),this.createEdgeTemplateFromCells([e],160,0,"Connector with 2 Labels")}))),this.addEntry(t+"edge title multiplicity",mxUtils.bind(this,(function(){var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.edge=!0;var t=new mxCell("Label",new mxGeometry(0,0,0,0),"edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;");t.geometry.relative=!0,t.setConnectable(!1),t.vertex=!0,e.insert(t);var l=new mxCell("Source",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");l.geometry.relative=!0,l.setConnectable(!1),l.vertex=!0,e.insert(l);var i=new mxCell("Target",new mxGeometry(1,0,0,0),"edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;");return i.geometry.relative=!0,i.setConnectable(!1),i.vertex=!0,e.insert(i),this.createEdgeTemplateFromCells([e],160,0,"Connector with 3 Labels")}))),this.addEntry(t+"edge shape symbol message mail email",mxUtils.bind(this,(function(){var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=classic;html=1;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(100,0),!1),e.geometry.relative=!0,e.edge=!0;var t=new mxCell("",new mxGeometry(0,0,20,14),"shape=message;html=1;outlineConnect=0;");return t.geometry.relative=!0,t.vertex=!0,t.geometry.offset=new mxPoint(-10,-7),e.insert(t),this.createEdgeTemplateFromCells([e],100,0,"Connector with Symbol")})))];this.addPaletteFunctions("general",mxResources.get("general"),null==e||e,a),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.addMiscPalette=function(e){var t=this,l="line lines connector connectors connection connections arrow arrows ";this.setCurrentSearchEntryLibrary("general","misc");var i=[this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;fontSize=24;fontStyle=1;verticalAlign=middle;align=center;",100,40,"Title","Title",null,null,"text heading title"),this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;",100,80,"<ul><li>Value 1</li><li>Value 2</li><li>Value 3</li></ul>","Unordered List"),this.createVertexTemplateEntry("text;strokeColor=none;fillColor=none;html=1;whiteSpace=wrap;verticalAlign=middle;overflow=hidden;",100,80,"<ol><li>Value 1</li><li>Value 2</li><li>Value 3</li></ol>","Ordered List"),this.addDataEntry("table",180,120,"Table 1","7ZjBTuMwEIafJtdVnFDoXhtYLnBZeAHTTGtLjieyB9Lu0zNO3FYVVM0upMASKZU8Y49jf3+tX06SF9Xq2sla3WIJJsmvkrxwiNS1qlUBxiRZqsskv0yyLOVfkv060Cva3rSWDiz1Kci6gidpHqHLdAlPaxMTXsk6NEk+hNRMUcXLvBTcbJQmuKvlPPQ3vAnOeZKO7vSfkEo5nqMlqS24WDNHY2TtdTtZN0JpU97INT7S5jWbaBaXB45gdXCLbSru7xqwAnJrHtLoklQcMe0wpAr0Um3KIptU+i6x3NbuiHEjQnsdYN4fIC+ZtDS/YU7SLvuwfMmqdFjfS7cEiokatSVwV09Mw8fcQhtToMGA3KINLyKsY6eBxab2AYmwioGLYLaTtlAmM34YU5H+mCQT3k3BsdjF/IThjgq0nhwLHeYA6akB31vA7N8EPHsH/c6G1c/aMHqn35ulQUa5MNhwqHRZgn3lPyD6cs+Pcj8fCPtkxP4C+2of+QlUOB9VOKTC1hxOIMPF6CGDech6X6ZTWMr0O5+qiw+zlJ8j9k9gKSIdZfgMniLEaCpDm8r0hKYi/uKm/v+dK3H8ij/YQRr4hv81wX+AsXzrm/oRHQZ0Fg53nyPbvr2vlc8="),this.addDataEntry("table",180,120,"Table 2","7ZhRb5swEMc/Da+TDSFJX0u7vrQv7bR3NzjBkvEhcynJPv3OYDeLUlS0JURTkUDyne+M+f05nXCUZOXuwYqqeIJc6ii5j5LMAmA3KneZ1DqKmcqj5C6KY0Z3FH/vmeXtLKuElQaHJMRdwpvQW9l5OkeNe+0ddSEqN0Tx6ly3BZa0zTtOw6ZQKF8qsXLzDb0E+WoUFl/UL+diZK/AoFBGWp+zAq1FVat2sS6iUDp/FHvYYnhMsFz0tjSPlF/7aAvNn6bfv7Qod70MWpcH8CChlGj3FNKoHAsfsew4sUKqTRHSPDwm6s6xec89IKWBp/ox4WQ4YdoyKqGf5QqF2QyBfQozt1D9EHYj0TsqUAalvX8jGgHaWmmdgQaniQHjHoRQ+Ukt1yH3FRChDOA9mPdFWyjpLV2EKWPf0iilt8nI5gebLhduMQNTo6Uvwa0hRY2NrHGogPHfCTg7g36zE/1+tsOY8bMKaYyLPgj5zxoBMV1raMgsVJ5L88HHwIcKkHwqwPxC/NNe/uctpP+S/+6Y/QhyzHvlSCY5QkI8nh6Lqb1crL3sj2Uao9sse8tr9oXKa3G1bnPTyz+d+I/fbTjr1WM+6XGFdsP51G8u3W+WI/YbfnoAEAps8YUKjH9+QnCxijo9IAgKLCcFrtFz+v/4byZBRmg6ZB4OQNu5o/PR3w=="),this.addDataEntry("table title",180,150,"Table with Title 1","7VjBbqMwEP0arisMpeleQ7u9tJemP+CGCbZkbGRPQtKv37FxGnWTKJVa0q6CBJLnecbg9xg9mSQvm/W95a14NBWoJL9L8tIag/2oWZegVJKlskry2yTLUrqT7M+RWRZm05Zb0PiRgqwvWHG1hB555i8KetThRkXUCd76IYbZfOqQW5zJV4/lKQFzo5FLDZYAFmKleOtkSL8NGUKq6oFvzBK3C22j6YKqZ/FpvporWWsaz2kbfslpa6Qf3a0IcDEpvjpYhPXR7Qco7v0eTANoN5TSyQpFzLjpKUoFyFpsy4oIctcD9Vvtjk0aREIPk5vvkXuUV3pllFw9wRy5rgPFAhsVd9oJiTBr+dyndvSxHCS4sqZ95rYGjMC/pHlsIZUqjTJeJ220fxCaNk4qWGxrXwyiaWJgIzFviwZSiildRFOZ/iqSgnZTUsx2MV0+3WJptENLX4dfA7jDDhx+VMDssICbSHGU6ZSeV18g59Wwcmrts3dyflopQ8wulOkoFLKqQH+mj/KTfXQ9EO3FSPse7ev3lJ9BhetRhWMqsOx8MkxGSxnaUiZntJSbS+6qybdZyu+R9h9gKSwdZfgJnsLYaCpDmwpjZ3QVtn+qv6DGYqeP/IN10sAn/v+T+G9wlos+qp/QYUBroXD36zLMvfuz+Rc="),this.addDataEntry("table title",180,150,"Table with Title 2","7VjBbqMwEP0arivAJdtcod1e0ktT7d0NBiwZG9nTQvbrd2xMsy1B7WoTglaVQJp5nhnwe/gdCEhWd3eaNtW9ypkIyG1AMq0U9FHdZUyIIA55HpCbII5DvIP4x8Rq5FbDhmom4TMNcd/wQsUz65FH+iRYjxrYC4+aijY2BLdKUgNUw5b/shgJEdgpCZRLphGIXC4EbQx35TeuouIi39C9eoZh0JClBe9Y/qBa47u1ajc4zPjWAodv/cvYZSp4KTHe4S7tE9NGcRvdviAwzPA7YxpYN8mOgzw1d0zVDPQeS1qeQ+UrrnsGw4rxshraEg9S0wPla++BbAw838e5JyPuJ2nHVwZOxQPbAZWlU6CCWvidthUHtm3ozpa2+C0d5T/XqnmkumTggWOkFVyITAllZZRK2geBanyDYMXQ+6QAVD2o5Yl5HepISVK8kKYs/JYECe4mwzw65HjZcg2ZkgY0fjx2BqMGWmbgswLGxwXce4q9TB/pSU4g59VIzuikekppqw96/rVU4TupFFJbCNViWvE8Z/JfDhL58CBdnYn3ZMT7TxfG4cL5H1ysr00NPpDLctN3rmYSqHsrzp8H5VyCrf4H33sv5rJ8bzWj730fyXlaPZfte6uL+d71pO8tnP95fW9CoAv43vrL987te+sZfS8KR3qSZR+8k56r9cWML4omnW/hAszrfBMKnd/5MD38wXBrb35w/AY="),this.addDataEntry("crossfunctional cross-functional cross functional flowchart swimlane table",400,400,"Cross-Functional Flowchart","7ZhRb5swEMc/DY+dsEna7nEhS/ewStX6CTy41pYcG9mXBvrpa2NotBBKMnUp1ZB44P45O879zvpHFyXpurwxrOC3OgcZJd8jGvsnSY3WuItbdV2mIKV7F3mULCPqdRrR1RGZpM6MC2ZA4amLaVj8xOQGguIOaO3FaqMyFFoxn7ySeptxZjAkW6xkk2w5K/wrst9eWmRcyPwnq/QGW7WNFhbdDvfi2efPYp+spWSFFfXSpVcMZBtjxRP8AhsSvQplwVTeBA9a4X1zAOLi5vxgEMreetTSXjF2JbkBvQY0lYu3Ikce1sziUMWYg3jkuCcyG4TH17WHC+7EpubDLJIOi28ZauMk0i38VqwlU77mXBvx7KriUIUStZ/9AJbvSQudVwcKWcdCylRL933JUul650ILhfUPnS/c486dxl/m0dwdIHUx2cXu8ekGU60sGibqygOzuAX7wfDpsfCrlnHYY6gXCP2HvTDr9MIdZxaGeuHv0GdaKciaO9zXDB9IMDmWYNlL8BXW2QjOewnSieAQQXI5BoSXvQiTCeEQQno9BoRXvZ765i2cPPV9PfXQfT6/qV53mmEE1/i84K4+o5V+nbidym0cBkriidyp5Mbhm4T0Gueb/30m43xf4zzUDec3TtIdE/1395gcPUQak3WS7lBpIvdJzLM7A5rQjco9a7Gd5zcZfwz9XwA="),this.createVertexTemplateEntry("text;html=1;strokeColor=#c0c0c0;fillColor=#ffffff;overflow=fill;rounded=0;",280,160,'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;"><tr style="background-color:#A7C942;color:#ffffff;border:1px solid #98bf21;"><th align="left">Title 1</th><th align="left">Title 2</th><th align="left">Title 3</th></tr><tr style="border:1px solid #98bf21;"><td>Value 1</td><td>Value 2</td><td>Value 3</td></tr><tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 4</td><td>Value 5</td><td>Value 6</td></tr><tr style="border:1px solid #98bf21;"><td>Value 7</td><td>Value 8</td><td>Value 9</td></tr><tr style="background-color:#EAF2D3;border:1px solid #98bf21;"><td>Value 10</td><td>Value 11</td><td>Value 12</td></tr></table>',"HTML Table 1"),this.createVertexTemplateEntry("text;html=1;strokeColor=#c0c0c0;fillColor=none;overflow=fill;",180,140,'<table border="0" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;"><tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr><tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr><tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>',"HTML Table 2"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;overflow=fill;",180,140,'<table border="1" width="100%" height="100%" style="width:100%;height:100%;border-collapse:collapse;"><tr><td align="center">Value 1</td><td align="center">Value 2</td><td align="center">Value 3</td></tr><tr><td align="center">Value 4</td><td align="center">Value 5</td><td align="center">Value 6</td></tr><tr><td align="center">Value 7</td><td align="center">Value 8</td><td align="center">Value 9</td></tr></table>',"HTML Table 3"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;overflow=fill;",160,140,'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;"><tr><th align="center"><b>Title</b></th></tr><tr><td align="center">Section 1.1\nSection 1.2\nSection 1.3</td></tr><tr><td align="center">Section 2.1\nSection 2.2\nSection 2.3</td></tr></table>',"HTML Table 4"),this.addEntry("link hyperlink",mxUtils.bind(this,(function(){var e=new mxCell("Link",new mxGeometry(0,0,60,40),"text;html=1;strokeColor=none;fillColor=none;whiteSpace=wrap;align=center;verticalAlign=middle;fontColor=#0000EE;fontStyle=4;");return e.vertex=!0,this.graph.setLinkForCell(e,"https://www.draw.io"),this.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Link")}))),this.addEntry("timestamp date time text label",mxUtils.bind(this,(function(){var e=new mxCell("%date{ddd mmm dd yyyy HH:MM:ss}%",new mxGeometry(0,0,160,20),"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;");return e.vertex=!0,this.graph.setAttributeForCell(e,"placeholders","1"),this.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Timestamp")}))),this.addEntry("variable placeholder metadata hello world text label",mxUtils.bind(this,(function(){var e=new mxCell("%name% Text",new mxGeometry(0,0,80,20),"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;");return e.vertex=!0,this.graph.setAttributeForCell(e,"placeholders","1"),this.graph.setAttributeForCell(e,"name","Variable"),this.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Variable")}))),this.createVertexTemplateEntry("shape=ext;double=1;rounded=0;whiteSpace=wrap;html=1;",120,80,"","Double Rectangle",null,null,"rect rectangle box double"),this.createVertexTemplateEntry("shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;",120,80,"","Double Rounded Rectangle",null,null,"rounded rect rectangle box double"),this.createVertexTemplateEntry("ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;",100,60,"","Double Ellipse",null,null,"oval ellipse start end state double"),this.createVertexTemplateEntry("shape=ext;double=1;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Double Square",null,null,"double square"),this.createVertexTemplateEntry("ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Double Circle",null,null,"double circle"),this.createVertexTemplateEntry("rounded=1;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=4;hachureGap=8;hachureAngle=45;fillColor=#1ba1e2;sketch=1;",120,60,"","Rectangle Sketch",!0,null,"rectangle rect box text sketch comic retro"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=2;hachureGap=8;fillColor=#990000;fillStyle=dots;sketch=1;",120,60,"","Ellipse Sketch",!0,null,"ellipse oval sketch comic retro"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;strokeWidth=2;fillWeight=-1;hachureGap=8;fillStyle=cross-hatch;fillColor=#006600;sketch=1;",120,60,"","Diamond Sketch",!0,null,"diamond sketch comic retro"),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;shape=isoCube2;backgroundOutline=1;isoAngle=15;",90,100,"","Isometric Cube",!0,null,"cube box iso isometric"),this.createVertexTemplateEntry("html=1;whiteSpace=wrap;aspect=fixed;shape=isoRectangle;",150,90,"","Isometric Square",!0,null,"rectangle rect box iso isometric"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;",50,100,"","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;",50,100,"","Isometric Edge 2"),this.createVertexTemplateEntry("shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;",20,120,"","Left Curly Bracket"),this.createVertexTemplateEntry("shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;",20,120,"","Right Curly Bracket"),this.createVertexTemplateEntry("line;strokeWidth=2;html=1;",160,10,"","Horizontal Line"),this.createVertexTemplateEntry("line;strokeWidth=2;direction=south;html=1;",10,160,"","Vertical Line"),this.createVertexTemplateEntry("line;strokeWidth=4;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;",160,10,"","Horizontal Backbone",!1,null,"backbone bus network"),this.createVertexTemplateEntry("line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;",10,160,"","Vertical Backbone",!1,null,"backbone bus network"),this.createVertexTemplateEntry("shape=crossbar;whiteSpace=wrap;html=1;rounded=1;",120,20,"","Horizontal Crossbar",!1,null,"crossbar distance measure dimension unit"),this.createVertexTemplateEntry("shape=crossbar;whiteSpace=wrap;html=1;rounded=1;direction=south;",20,120,"","Vertical Crossbar",!1,null,"crossbar distance measure dimension unit"),this.createVertexTemplateEntry("shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=1;aspect=fixed;image="+this.gearImage,52,61,"","Image (Fixed Aspect)",!1,null,"fixed image icon symbol"),this.createVertexTemplateEntry("shape=image;html=1;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;image="+this.gearImage,50,60,"","Image (Variable Aspect)",!1,null,"strechted image icon symbol"),this.createVertexTemplateEntry("icon;html=1;image="+this.gearImage,60,60,"Icon","Icon",!1,null,"icon image symbol"),this.createVertexTemplateEntry("label;whiteSpace=wrap;html=1;image="+this.gearImage,140,60,"Label","Label 1",null,null,"label image icon symbol"),this.createVertexTemplateEntry("label;whiteSpace=wrap;html=1;align=center;verticalAlign=bottom;spacingLeft=0;spacingBottom=4;imageAlign=center;imageVerticalAlign=top;image="+this.gearImage,120,80,"Label","Label 2",null,null,"label image icon symbol"),this.addEntry("shape group container",(function(){var e=new mxCell("Label",new mxGeometry(0,0,160,70),"html=1;whiteSpace=wrap;container=1;recursiveResize=0;collapsible=0;");e.vertex=!0;var l=new mxCell("",new mxGeometry(20,20,20,30),"triangle;html=1;whiteSpace=wrap;");return l.vertex=!0,e.insert(l),t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Shape Group")})),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;left=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;top=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=1;right=1;left=1;top=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=waypoint;sketch=0;fillStyle=solid;size=6;pointerEvents=1;points=[];fillColor=none;resizable=0;rotatable=0;perimeter=centerPerimeter;snapToPoint=1;",40,40,"","Waypoint"),this.createEdgeTemplateEntry("edgeStyle=segmentEdgeStyle;endArrow=classic;html=1;",50,50,"","Manual Line",null,l+"manual"),this.createEdgeTemplateEntry("shape=filledEdge;rounded=0;fixDash=1;endArrow=none;strokeWidth=10;fillColor=#ffffff;edgeStyle=orthogonalEdgeStyle;",60,40,"","Filled Edge"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;",50,50,"","Horizontal Elbow",null,l+"elbow horizontal"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;elbow=vertical;endArrow=classic;html=1;",50,50,"","Vertical Elbow",null,l+"elbow vertical")];this.addPaletteFunctions("misc",mxResources.get("misc"),null==e||e,i),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.addAdvancedPalette=function(e){this.setCurrentSearchEntryLibrary("general","advanced"),this.addPaletteFunctions("advanced",mxResources.get("advanced"),null!=e&&e,this.createAdvancedShapes()),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.addBasicPalette=function(e){this.setCurrentSearchEntryLibrary("basic"),this.addStencilPalette("basic",mxResources.get("basic"),e+"/basic.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2",null,null,null,null,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle")]),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.createAdvancedShapes=function(){var e=this,t=new mxCell("List Item",new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");return t.vertex=!0,[this.createVertexTemplateEntry("shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;",80,80,"","Tape Data"),this.createVertexTemplateEntry("shape=manualInput;whiteSpace=wrap;html=1;",80,80,"","Manual Input"),this.createVertexTemplateEntry("shape=loopLimit;whiteSpace=wrap;html=1;",100,80,"","Loop Limit"),this.createVertexTemplateEntry("shape=offPageConnector;whiteSpace=wrap;html=1;",80,80,"","Off Page Connector"),this.createVertexTemplateEntry("shape=delay;whiteSpace=wrap;html=1;",80,40,"","Delay"),this.createVertexTemplateEntry("shape=display;whiteSpace=wrap;html=1;",80,40,"","Display"),this.createVertexTemplateEntry("shape=singleArrow;direction=west;whiteSpace=wrap;html=1;",100,60,"","Arrow Left"),this.createVertexTemplateEntry("shape=singleArrow;whiteSpace=wrap;html=1;",100,60,"","Arrow Right"),this.createVertexTemplateEntry("shape=singleArrow;direction=north;whiteSpace=wrap;html=1;",60,100,"","Arrow Up"),this.createVertexTemplateEntry("shape=singleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Arrow Down"),this.createVertexTemplateEntry("shape=doubleArrow;whiteSpace=wrap;html=1;",100,60,"","Double Arrow"),this.createVertexTemplateEntry("shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Double Arrow Vertical",null,null,"double arrow"),this.createVertexTemplateEntry("shape=actor;whiteSpace=wrap;html=1;",40,60,"","User",null,null,"user person human"),this.createVertexTemplateEntry("shape=cross;whiteSpace=wrap;html=1;",80,80,"","Cross"),this.createVertexTemplateEntry("shape=corner;whiteSpace=wrap;html=1;",80,80,"","Corner"),this.createVertexTemplateEntry("shape=tee;whiteSpace=wrap;html=1;",80,80,"","Tee"),this.createVertexTemplateEntry("shape=datastore;whiteSpace=wrap;html=1;",60,60,"","Data Store",null,null,"data store cylinder database"),this.createVertexTemplateEntry("shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Or",null,null,"or circle oval ellipse"),this.createVertexTemplateEntry("shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Sum",null,null,"sum circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with horizontal divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with vertical divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;",80,80,"","Sort",null,null,"sort"),this.createVertexTemplateEntry("shape=collate;whiteSpace=wrap;html=1;",80,80,"","Collate",null,null,"collate"),this.createVertexTemplateEntry("shape=switch;whiteSpace=wrap;html=1;",60,60,"","Switch",null,null,"switch router"),this.addEntry("process bar",(function(){return e.createVertexTemplateFromData("zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A",296,100,"Process Bar")})),this.createVertexTemplateEntry("swimlane;",200,200,"Container","Container",null,null,"container swimlane lane pool group"),this.addEntry("list group erd table",(function(){var l=new mxCell("List",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");return l.vertex=!0,l.insert(e.cloneCell(t,"Item 1")),l.insert(e.cloneCell(t,"Item 2")),l.insert(e.cloneCell(t,"Item 3")),e.createVertexTemplateFromCells([l],l.geometry.width,l.geometry.height,"List")})),this.addEntry("list item entry value group erd table",(function(){return e.createVertexTemplateFromCells([e.cloneCell(t,"List Item")],t.geometry.width,t.geometry.height,"List Item")}))]},Sidebar.prototype.createAdvancedShapes=function(){var e=this,t=new mxCell("List Item",new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");return t.vertex=!0,[this.createVertexTemplateEntry("shape=tapeData;whiteSpace=wrap;html=1;perimeter=ellipsePerimeter;",80,80,"","Tape Data"),this.createVertexTemplateEntry("shape=manualInput;whiteSpace=wrap;html=1;",80,80,"","Manual Input"),this.createVertexTemplateEntry("shape=loopLimit;whiteSpace=wrap;html=1;",100,80,"","Loop Limit"),this.createVertexTemplateEntry("shape=offPageConnector;whiteSpace=wrap;html=1;",80,80,"","Off Page Connector"),this.createVertexTemplateEntry("shape=delay;whiteSpace=wrap;html=1;",80,40,"","Delay"),this.createVertexTemplateEntry("shape=display;whiteSpace=wrap;html=1;",80,40,"","Display"),this.createVertexTemplateEntry("shape=singleArrow;direction=west;whiteSpace=wrap;html=1;",100,60,"","Arrow Left"),this.createVertexTemplateEntry("shape=singleArrow;whiteSpace=wrap;html=1;",100,60,"","Arrow Right"),this.createVertexTemplateEntry("shape=singleArrow;direction=north;whiteSpace=wrap;html=1;",60,100,"","Arrow Up"),this.createVertexTemplateEntry("shape=singleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Arrow Down"),this.createVertexTemplateEntry("shape=doubleArrow;whiteSpace=wrap;html=1;",100,60,"","Double Arrow"),this.createVertexTemplateEntry("shape=doubleArrow;direction=south;whiteSpace=wrap;html=1;",60,100,"","Double Arrow Vertical",null,null,"double arrow"),this.createVertexTemplateEntry("shape=actor;whiteSpace=wrap;html=1;",40,60,"","User",null,null,"user person human"),this.createVertexTemplateEntry("shape=cross;whiteSpace=wrap;html=1;",80,80,"","Cross"),this.createVertexTemplateEntry("shape=corner;whiteSpace=wrap;html=1;",80,80,"","Corner"),this.createVertexTemplateEntry("shape=tee;whiteSpace=wrap;html=1;",80,80,"","Tee"),this.createVertexTemplateEntry("shape=datastore;whiteSpace=wrap;html=1;",60,60,"","Data Store",null,null,"data store cylinder database"),this.createVertexTemplateEntry("shape=orEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Or",null,null,"or circle oval ellipse"),this.createVertexTemplateEntry("shape=sumEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Sum",null,null,"sum circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with horizontal divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=lineEllipse;line=vertical;perimeter=ellipsePerimeter;whiteSpace=wrap;html=1;backgroundOutline=1;",80,80,"","Ellipse with vertical divider",null,null,"circle oval ellipse"),this.createVertexTemplateEntry("shape=sortShape;perimeter=rhombusPerimeter;whiteSpace=wrap;html=1;",80,80,"","Sort",null,null,"sort"),this.createVertexTemplateEntry("shape=collate;whiteSpace=wrap;html=1;",80,80,"","Collate",null,null,"collate"),this.createVertexTemplateEntry("shape=switch;whiteSpace=wrap;html=1;",60,60,"","Switch",null,null,"switch router"),this.addEntry("process bar",(function(){return e.createVertexTemplateFromData("zZXRaoMwFIafJpcDjbNrb2233rRQ8AkyPdPQaCRJV+3T7yTG2rUVBoOtgpDzn/xJzncCIdGyateKNeVW5iBI9EqipZLS9KOqXYIQhAY8J9GKUBrgT+jbRDZ02aBhCmrzEwPtDZ9MHKBXdkpmoDWKCVN9VptO+Kw+8kqwGqMkK7nIN6yTB7uTNizbD1FSSsVPsjYMC1qFKHxwIZZSSIVxLZ1/nJNar5+oQPMT7IYCrqUta1ENzuqGaeOFTArBGs3f3Vmtoo2Se7ja1h00kSoHK4bBIKUNy3hdoPYU0mF91i9mT8EEL2ocZ3gKa00ayWujLZY4IfHKFonVDLsRGgXuQ90zBmWgneyTk3yT1iArMKrDKUeem9L3ajHrbSXwohxsQd/ggOleKM7ese048J2/fwuim1uQGmhQCW8vQMkacP3GCQgBFMftHEsr7cYYe95CnmKTPMFbYD8CQ++DGQy+/M5X4ku5wHYmdIktfvk9tecpavThqS3m/0YtnqIWPTy1cD77K2wYjo+Ay317I74A",296,100,"Process Bar")})),this.createVertexTemplateEntry("swimlane;",200,200,"Container","Container",null,null,"container swimlane lane pool group"),this.addEntry("list group erd table",(function(){var l=new mxCell("List",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");return l.vertex=!0,l.insert(e.cloneCell(t,"Item 1")),l.insert(e.cloneCell(t,"Item 2")),l.insert(e.cloneCell(t,"Item 3")),e.createVertexTemplateFromCells([l],l.geometry.width,l.geometry.height,"List")})),this.addEntry("list item entry value group erd table",(function(){return e.createVertexTemplateFromCells([e.cloneCell(t,"List Item")],t.geometry.width,t.geometry.height,"List Item")}))]},Sidebar.prototype.addBasicPalette=function(e){this.setCurrentSearchEntryLibrary("basic"),this.addStencilPalette("basic",mxResources.get("basic"),e+"/basic.xml",";whiteSpace=wrap;html=1;fillColor=#ffffff;strokeColor=#000000;strokeWidth=2",null,null,null,null,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle")]),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.addUmlPalette=function(e){var t=this,l=new mxCell("+ field: type",new mxGeometry(0,0,100,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;");l.vertex=!0;var i=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;");i.vertex=!0;var r="uml static class ";this.setCurrentSearchEntryLibrary("uml");var n=[this.createVertexTemplateEntry("html=1;",110,50,"Object","Object",null,null,r+"object instance"),this.createVertexTemplateEntry("html=1;",110,50,"&laquo;interface&raquo;<br><b>Name</b>","Interface",null,null,r+"interface object instance annotated annotation"),this.addEntry(r+"object instance",(function(){var e=new mxCell("Classname",new mxGeometry(0,0,160,90),"swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");return e.vertex=!0,e.insert(l.clone()),e.insert(i.clone()),e.insert(t.cloneCell(l,"+ method(type): type")),t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Class")})),this.addEntry(r+"section subsection",(function(){var e=new mxCell("Classname",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;");return e.vertex=!0,e.insert(l.clone()),e.insert(l.clone()),e.insert(l.clone()),t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Class 2")})),this.addEntry(r+"item member method function variable field attribute label",(function(){return t.createVertexTemplateFromCells([t.cloneCell(l,"+ item: attribute")],l.geometry.width,l.geometry.height,"Item 1")})),this.addEntry(r+"item member method function variable field attribute label",(function(){var e=new mxCell("item: attribute",new mxGeometry(0,0,120,l.geometry.height),"label;fontStyle=0;strokeColor=none;fillColor=none;align=left;verticalAlign=top;overflow=hidden;spacingLeft=28;spacingRight=4;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;imageWidth=16;imageHeight=16;image="+t.gearImage);return e.vertex=!0,t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Item 2")})),this.addEntry(r+"divider hline line separator",(function(){return t.createVertexTemplateFromCells([i.clone()],i.geometry.width,i.geometry.height,"Divider")})),this.addEntry(r+"spacer space gap separator",(function(){var e=new mxCell("",new mxGeometry(0,0,20,14),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=4;spacingRight=4;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;");return e.vertex=!0,t.createVertexTemplateFromCells([e.clone()],e.geometry.width,e.geometry.height,"Spacer")})),this.createVertexTemplateEntry("text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;",80,26,"Title","Title",null,null,r+"title label"),this.addEntry(r+"component",(function(){var e=new mxCell("&laquo;Annotation&raquo;<br/><b>Component</b>",new mxGeometry(0,0,180,90),"html=1;dropTarget=0;");e.vertex=!0;var l=new mxCell("",new mxGeometry(1,0,20,20),"shape=module;jettyWidth=8;jettyHeight=4;");return l.vertex=!0,l.geometry.relative=!0,l.geometry.offset=new mxPoint(-27,7),e.insert(l),t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Component")})),this.addEntry(r+"component",(function(){var e=new mxCell('<p style="margin:0px;margin-top:6px;text-align:center;"><b>Component</b></p><hr/><p style="margin:0px;margin-left:8px;">+ Attribute1: Type<br/>+ Attribute2: Type</p>',new mxGeometry(0,0,180,90),"align=left;overflow=fill;html=1;dropTarget=0;");e.vertex=!0;var l=new mxCell("",new mxGeometry(1,0,20,20),"shape=component;jettyWidth=8;jettyHeight=4;");return l.vertex=!0,l.geometry.relative=!0,l.geometry.offset=new mxPoint(-24,4),e.insert(l),t.createVertexTemplateFromCells([e],e.geometry.width,e.geometry.height,"Component with Attributes")})),this.createVertexTemplateEntry("verticalAlign=top;align=left;spacingTop=8;spacingLeft=2;spacingRight=12;shape=cube;size=10;direction=south;fontStyle=4;html=1;",180,120,"Block","Block",null,null,r+"block"),this.createVertexTemplateEntry("shape=module;align=left;spacingLeft=20;align=center;verticalAlign=top;",100,50,"Module","Module",null,null,r+"module component"),this.createVertexTemplateEntry("shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;",70,50,"package","Package",null,null,r+"package"),this.createVertexTemplateEntry("verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;",160,90,'<p style="margin:0px;margin-top:4px;text-align:center;text-decoration:underline;"><b>Object:Type</b></p><hr/><p style="margin:0px;margin-left:8px;">field1 = value1<br/>field2 = value2<br>field3 = value3</p>',"Object",null,null,r+"object instance"),this.createVertexTemplateEntry("verticalAlign=top;align=left;overflow=fill;html=1;",180,90,'<div style="box-sizing:border-box;width:100%;background:#e4e4e4;padding:2px;">Tablename</div><table style="width:100%;font-size:1em;" cellpadding="2" cellspacing="0"><tr><td>PK</td><td>uniqueId</td></tr><tr><td>FK1</td><td>foreignKey</td></tr><tr><td></td><td>fieldname</td></tr></table>',"Entity",null,null,"er entity table"),this.addEntry(r+"object instance",(function(){var e=new mxCell('<p style="margin:0px;margin-top:4px;text-align:center;"><b>Class</b></p><hr size="1"/><div style="height:2px;"></div>',new mxGeometry(0,0,140,60),"verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;");return e.vertex=!0,t.createVertexTemplateFromCells([e.clone()],e.geometry.width,e.geometry.height,"Class 3")})),this.addEntry(r+"object instance",(function(){var e=new mxCell('<p style="margin:0px;margin-top:4px;text-align:center;"><b>Class</b></p><hr size="1"/><div style="height:2px;"></div><hr size="1"/><div style="height:2px;"></div>',new mxGeometry(0,0,140,60),"verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;");return e.vertex=!0,t.createVertexTemplateFromCells([e.clone()],e.geometry.width,e.geometry.height,"Class 4")})),this.addEntry(r+"object instance",(function(){var e=new mxCell('<p style="margin:0px;margin-top:4px;text-align:center;"><b>Class</b></p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ field: Type</p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ method(): Type</p>',new mxGeometry(0,0,160,90),"verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;");return e.vertex=!0,t.createVertexTemplateFromCells([e.clone()],e.geometry.width,e.geometry.height,"Class 5")})),this.addEntry(r+"object instance",(function(){var e=new mxCell('<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;Interface&gt;&gt;</i><br/><b>Interface</b></p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ field1: Type<br/>+ field2: Type</p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ method1(Type): Type<br/>+ method2(Type, Type): Type</p>',new mxGeometry(0,0,190,140),"verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;");return e.vertex=!0,t.createVertexTemplateFromCells([e.clone()],e.geometry.width,e.geometry.height,"Interface 2")})),this.createVertexTemplateEntry("shape=providedRequiredInterface;html=1;verticalLabelPosition=bottom;sketch=0;",20,20,"","Provided/Required Interface",null,null,"uml provided required interface lollipop notation"),this.createVertexTemplateEntry("shape=requiredInterface;html=1;verticalLabelPosition=bottom;sketch=0;",10,20,"","Required Interface",null,null,"uml required interface lollipop notation"),this.addEntry("uml lollipop notation provided required interface",(function(){return t.createVertexTemplateFromData("zVRNT8MwDP01uaLSMu6sfFxAmrQDcAytaQJZXLnu2u7XkzQZXTUmuIA4VIqf/ZzkvdQiyzf9HclaPWAJRmQ3IssJkcNq0+dgjEgTXYrsWqRp4j6R3p7Ino/ZpJYEln9CSANhK00LAQlAw4OJAGFrS/D1iciWSKywQivNPWLtwHMHvgHzsNY7z5Ato4MUb0zMgi2viLBzoUULAbnVxsSWzTtwofYBtlTACkhvgIHWtSy0rWKSJVXAJ5Lh4FBWMNMicAJ0cSzPWBW1uQN0fWlwJQRGst7OW8kmhNVn3Sd1hdp1TJMhVCzmhHipUDO54RYHm07Q6NHXfmV/65eS5jXXVJhj15yCNDz54GyxD58PwjL2v/SmMuE7POqSVdxj5vm/cK6PG4X/5deNvPjeSEfQdeOV75Rm8K/dZzo3LOaGSaMr69aF0wbIA00NhZfpVff+JSwJGr2TL2Nnr3jtbzDeabEUi2v/Tlo22kKO1gbq0Z8ZDwzE0J+cNidM2ROinF18CR6KeivQleI59pVrM8knfV04Dc1gx+FM/QA=",40,10,"Lollipop Notation")})),this.createVertexTemplateEntry("shape=umlBoundary;whiteSpace=wrap;html=1;",100,80,"Boundary Object","Boundary Object",null,null,"uml boundary object"),this.createVertexTemplateEntry("ellipse;shape=umlEntity;whiteSpace=wrap;html=1;",80,80,"Entity Object","Entity Object",null,null,"uml entity object"),this.createVertexTemplateEntry("ellipse;shape=umlControl;whiteSpace=wrap;html=1;",70,80,"Control Object","Control Object",null,null,"uml control object"),this.createVertexTemplateEntry("shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;",30,60,"Actor","Actor",!1,null,"uml actor"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;",140,70,"Use Case","Use Case",null,null,"uml use case usecase"),this.addEntry("uml activity state start",(function(){var e=new mxCell("",new mxGeometry(0,0,30,30),"ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;");e.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;");return l.geometry.setTerminalPoint(new mxPoint(15,90),!1),l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!0),t.createVertexTemplateFromCells([e,l],30,90,"Start")})),this.addEntry("uml activity state",(function(){var e=new mxCell("Activity",new mxGeometry(0,0,120,40),"rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;");e.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;");return l.geometry.setTerminalPoint(new mxPoint(60,100),!1),l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!0),t.createVertexTemplateFromCells([e,l],120,100,"Activity")})),this.addEntry("uml activity composite state",(function(){var e=new mxCell("Composite State",new mxGeometry(0,0,160,60),"swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=0;resizeLast=1;container=0;fontColor=#000000;collapsible=0;rounded=1;arcSize=30;strokeColor=#ff0000;fillColor=#ffffc0;swimlaneFillColor=#ffffc0;dropTarget=0;");e.vertex=!0;var l=new mxCell("Subtitle",new mxGeometry(0,0,200,26),"text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;whiteSpace=wrap;overflow=hidden;rotatable=0;fontColor=#000000;");l.vertex=!0,e.insert(l);var i=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;");return i.geometry.setTerminalPoint(new mxPoint(80,120),!1),i.geometry.relative=!0,i.edge=!0,e.insertEdge(i,!0),t.createVertexTemplateFromCells([e,i],160,120,"Composite State")})),this.addEntry("uml activity condition",(function(){var e=new mxCell("Condition",new mxGeometry(0,0,80,40),"rhombus;whiteSpace=wrap;html=1;fillColor=#ffffc0;strokeColor=#ff0000;");e.vertex=!0;var l=new mxCell("no",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;");l.geometry.setTerminalPoint(new mxPoint(180,20),!1),l.geometry.relative=!0,l.geometry.x=-1,l.edge=!0,e.insertEdge(l,!0);var i=new mxCell("yes",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;");return i.geometry.setTerminalPoint(new mxPoint(40,100),!1),i.geometry.relative=!0,i.geometry.x=-1,i.edge=!0,e.insertEdge(i,!0),t.createVertexTemplateFromCells([e,l,i],180,100,"Condition")})),this.addEntry("uml activity fork join",(function(){var e=new mxCell("",new mxGeometry(0,0,200,10),"shape=line;html=1;strokeWidth=6;strokeColor=#ff0000;");e.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;");return l.geometry.setTerminalPoint(new mxPoint(100,80),!1),l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!0),t.createVertexTemplateFromCells([e,l],200,80,"Fork/Join")})),this.createVertexTemplateEntry("ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;",30,30,"","End",null,null,"uml activity state end"),this.createVertexTemplateEntry("shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;",100,300,":Object","Lifeline",null,null,"uml sequence participant lifeline"),this.createVertexTemplateEntry("shape=umlLifeline;participant=umlActor;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;verticalAlign=top;spacingTop=36;outlineConnect=0;",20,300,"","Actor Lifeline",null,null,"uml sequence participant lifeline actor"),this.createVertexTemplateEntry("shape=umlLifeline;participant=umlBoundary;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;verticalAlign=top;spacingTop=36;outlineConnect=0;",50,300,"","Boundary Lifeline",null,null,"uml sequence participant lifeline boundary"),this.createVertexTemplateEntry("shape=umlLifeline;participant=umlEntity;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;verticalAlign=top;spacingTop=36;outlineConnect=0;",40,300,"","Entity Lifeline",null,null,"uml sequence participant lifeline entity"),this.createVertexTemplateEntry("shape=umlLifeline;participant=umlControl;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;verticalAlign=top;spacingTop=36;outlineConnect=0;",40,300,"","Control Lifeline",null,null,"uml sequence participant lifeline control"),this.createVertexTemplateEntry("shape=umlFrame;whiteSpace=wrap;html=1;",300,200,"frame","Frame",null,null,"uml sequence frame"),this.createVertexTemplateEntry("shape=umlDestroy;whiteSpace=wrap;html=1;strokeWidth=3;",30,30,"","Destruction",null,null,"uml sequence destruction destroy"),this.addEntry("uml sequence invoke invocation call activation",(function(){var e=new mxCell("",new mxGeometry(0,0,10,80),"html=1;points=[];perimeter=orthogonalPerimeter;");e.vertex=!0;var l=new mxCell("dispatch",new mxGeometry(0,0,0,0),"html=1;verticalAlign=bottom;startArrow=oval;endArrow=block;startSize=8;");return l.geometry.setTerminalPoint(new mxPoint(-60,0),!0),l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!1),t.createVertexTemplateFromCells([e,l],10,80,"Found Message")})),this.addEntry("uml sequence invoke call delegation synchronous invocation activation",(function(){var e=new mxCell("",new mxGeometry(0,0,10,80),"html=1;points=[];perimeter=orthogonalPerimeter;");e.vertex=!0;var l=new mxCell("dispatch",new mxGeometry(0,0,0,0),"html=1;verticalAlign=bottom;endArrow=block;entryX=0;entryY=0;");l.geometry.setTerminalPoint(new mxPoint(-70,0),!0),l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!1);var i=new mxCell("return",new mxGeometry(0,0,0,0),"html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;exitX=0;exitY=0.95;");return i.geometry.setTerminalPoint(new mxPoint(-70,76),!1),i.geometry.relative=!0,i.edge=!0,e.insertEdge(i,!0),t.createVertexTemplateFromCells([e,l,i],10,80,"Synchronous Invocation")})),this.addEntry("uml sequence self call recursion delegation activation",(function(){var e=new mxCell("",new mxGeometry(-5,20,10,40),"html=1;points=[];perimeter=orthogonalPerimeter;");e.vertex=!0;var l=new mxCell("self call",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;entryX=1;entryY=0;");return l.geometry.setTerminalPoint(new mxPoint(0,0),!0),l.geometry.points=[new mxPoint(30,0)],l.geometry.relative=!0,l.edge=!0,e.insertEdge(l,!1),t.createVertexTemplateFromCells([e,l],10,60,"Self Call")})),this.addEntry("uml sequence invoke call delegation callback activation",(function(){return t.createVertexTemplateFromData("xZRNT8MwDIZ/Ta6oaymD47rBTkiTuMAxW6wmIm0q19s6fj1OE3V0Y2iCA4dK8euP2I+riGxedUuUjX52CqzIHkU2R+conKpuDtaKNDFKZAuRpgl/In264J303qSRCDVdk5CGhJ20WwhKEFo62ChoqritxURkReNMTa2X80LkC68AmgoIkEWHpF3pamlXR7WIFwASdBeb7KXY4RIc5+KBQ/ZGkY4RYY5Egyl1zLqLmmyDXQ6Zx4n5EIf+HkB2BmAjrV3LzftPIPw4hgNn1pQ1a2tH5Cp2QK1miG7vNeu4iJe4pdeY2BtvbCQDGlAljMCQxBJotJ8rWCFYSWY3LvUdmZi68rvkkLiU6QnL1m1xAzHoBOdw61WEb88II9AW67/ydQ2wq1Cy1aAGvOrFfPh6997qDA3g+dxzv3nIL6MPU/8T+kMw8+m4QPgdfrEJNo8PSQj/+s58Ag==",10,60,"Callback")})),this.createVertexTemplateEntry("html=1;points=[];perimeter=orthogonalPerimeter;",10,80,"","Activation",null,null,"uml sequence activation"),this.createEdgeTemplateEntry("html=1;verticalAlign=bottom;startArrow=oval;startFill=1;endArrow=block;startSize=8;",60,0,"dispatch","Found Message 1",null,"uml sequence message call invoke dispatch"),this.createEdgeTemplateEntry("html=1;verticalAlign=bottom;startArrow=circle;startFill=1;endArrow=open;startSize=6;endSize=8;",80,0,"dispatch","Found Message 2",null,"uml sequence message call invoke dispatch"),this.createEdgeTemplateEntry("html=1;verticalAlign=bottom;endArrow=block;",80,0,"dispatch","Message",null,"uml sequence message call invoke dispatch"),this.addEntry("uml sequence return message",(function(){var e=new mxCell("return",new mxGeometry(0,0,0,0),"html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;");return e.geometry.setTerminalPoint(new mxPoint(80,0),!0),e.geometry.setTerminalPoint(new mxPoint(0,0),!1),e.geometry.relative=!0,e.edge=!0,t.createEdgeTemplateFromCells([e],80,0,"Return")})),this.addEntry("uml relation",(function(){var e=new mxCell("name",new mxGeometry(0,0,0,0),"endArrow=block;endFill=1;html=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=top;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.geometry.x=-1,e.edge=!0;var l=new mxCell("1",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");return l.geometry.relative=!0,l.setConnectable(!1),l.vertex=!0,e.insert(l),t.createEdgeTemplateFromCells([e],160,0,"Relation 1")})),this.addEntry("uml association",(function(){var e=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.edge=!0;var l=new mxCell("parent",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;");l.geometry.relative=!0,l.setConnectable(!1),l.vertex=!0,e.insert(l);var i=new mxCell("child",new mxGeometry(1,0,0,0),"edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;");return i.geometry.relative=!0,i.setConnectable(!1),i.vertex=!0,e.insert(i),t.createEdgeTemplateFromCells([e],160,0,"Association 1")})),this.addEntry("uml aggregation",(function(){var e=new mxCell("1",new mxGeometry(0,0,0,0),"endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;");return e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.geometry.x=-1,e.geometry.y=3,e.edge=!0,t.createEdgeTemplateFromCells([e],160,0,"Aggregation 1")})),this.addEntry("uml composition",(function(){var e=new mxCell("1",new mxGeometry(0,0,0,0),"endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=orthogonalEdgeStyle;align=left;verticalAlign=bottom;");return e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.geometry.x=-1,e.geometry.y=3,e.edge=!0,t.createEdgeTemplateFromCells([e],160,0,"Composition 1")})),this.addEntry("uml relation",(function(){var e=new mxCell("Relation",new mxGeometry(0,0,0,0),"endArrow=open;html=1;endSize=12;startArrow=diamondThin;startSize=14;startFill=0;edgeStyle=orthogonalEdgeStyle;");e.geometry.setTerminalPoint(new mxPoint(0,0),!0),e.geometry.setTerminalPoint(new mxPoint(160,0),!1),e.geometry.relative=!0,e.edge=!0;var l=new mxCell("0..n",new mxGeometry(-1,0,0,0),"edgeLabel;resizable=0;html=1;align=left;verticalAlign=top;");l.geometry.relative=!0,l.setConnectable(!1),l.vertex=!0,e.insert(l);var i=new mxCell("1",new mxGeometry(1,0,0,0),"edgeLabel;resizable=0;html=1;align=right;verticalAlign=top;");return i.geometry.relative=!0,i.setConnectable(!1),i.vertex=!0,e.insert(i),t.createEdgeTemplateFromCells([e],160,0,"Relation 2")})),this.createEdgeTemplateEntry("endArrow=open;endSize=12;dashed=1;html=1;",160,0,"Use","Dependency",null,"uml dependency use"),this.createEdgeTemplateEntry("endArrow=block;endSize=16;endFill=0;html=1;",160,0,"Extends","Generalization",null,"uml generalization extend"),this.createEdgeTemplateEntry("endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;",160,0,"","Association 2",null,"uml association"),this.createEdgeTemplateEntry("endArrow=open;startArrow=circlePlus;endFill=0;startFill=0;endSize=8;html=1;",160,0,"","Inner Class",null,"uml inner class"),this.createEdgeTemplateEntry("endArrow=open;startArrow=cross;endFill=0;startFill=0;endSize=8;startSize=10;html=1;",160,0,"","Terminate",null,"uml terminate"),this.createEdgeTemplateEntry("endArrow=block;dashed=1;endFill=0;endSize=12;html=1;",160,0,"","Implementation",null,"uml realization implementation"),this.createEdgeTemplateEntry("endArrow=diamondThin;endFill=0;endSize=24;html=1;",160,0,"","Aggregation 2",null,"uml aggregation"),this.createEdgeTemplateEntry("endArrow=diamondThin;endFill=1;endSize=24;html=1;",160,0,"","Composition 2",null,"uml composition"),this.createEdgeTemplateEntry("endArrow=open;endFill=1;endSize=12;html=1;",160,0,"","Association 3",null,"uml association")];this.addPaletteFunctions("uml",mxResources.get("uml"),e||!1,n),this.setCurrentSearchEntryLibrary()},Sidebar.prototype.createTitle=function(e){var t=document.createElement("a");return t.setAttribute("title",mxResources.get("sidebarTooltip")),t.className="geTitle",mxUtils.write(t,e),t},Sidebar.prototype.createThumb=function(e,t,l,i,r,n,a){this.graph.labelsVisible=null==n||n;var o=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject,this.graph.view.scaleAndTranslate(1,0,0),this.graph.addCells(e);var s=this.graph.getGraphBounds(),h=Math.floor(100*Math.min((t-2*this.thumbBorder)/s.width,(l-2*this.thumbBorder)/s.height))/100;this.graph.view.scaleAndTranslate(h,Math.floor((t-s.width*h)/2/h-s.x),Math.floor((l-s.height*h)/2/h-s.y));var p=null;if(this.graph.dialect!=mxConstants.DIALECT_SVG||mxClient.NO_FO||null==this.graph.view.getCanvas().ownerSVGElement?(p=this.graph.container.cloneNode(!1)).innerHTML=this.graph.container.innerHTML:p=this.graph.view.getCanvas().ownerSVGElement.cloneNode(!0),this.graph.getModel().clear(),mxClient.NO_FO=o,p.style.position="relative",p.style.overflow="hidden",p.style.left=this.thumbBorder+"px",p.style.top=this.thumbBorder+"px",p.style.width=t+"px",p.style.height=l+"px",p.style.visibility="",p.style.minWidth="",p.style.minHeight="",i.appendChild(p),this.sidebarTitles&&null!=r&&0!=a){i.style.height=this.thumbHeight+0+this.sidebarTitleSize+8+"px";var m=document.createElement("div");m.style.color=Editor.isDarkMode()?"#A0A0A0":"#303030",m.style.fontSize=this.sidebarTitleSize+"px",m.style.textAlign="center",m.style.whiteSpace="nowrap",m.style.overflow="hidden",m.style.textOverflow="ellipsis",mxClient.IS_IE&&(m.style.height=this.sidebarTitleSize+12+"px"),m.style.paddingTop="4px",mxUtils.write(m,r),i.appendChild(m)}return s},Sidebar.prototype.createSection=function(e){return mxUtils.bind(this,(function(){var t=document.createElement("div");return t.setAttribute("title",e),t.style.textOverflow="ellipsis",t.style.whiteSpace="nowrap",t.style.textAlign="center",t.style.overflow="hidden",t.style.width="100%",t.style.padding="14px 0",mxUtils.write(t,e),t}))},Sidebar.prototype.createItem=function(e,t,l,i,r,n,a,o){o=null==o||o;var s=document.createElement("a");s.className="geItem",s.style.overflow="hidden";var h=2*this.thumbBorder;s.style.width=this.thumbWidth+h+"px",s.style.height=this.thumbHeight+h+"px",s.style.padding=this.thumbPadding+"px",mxEvent.addListener(s,"click",(function(e){mxEvent.consume(e)}));var p=e;e=this.graph.cloneCells(e),this.editorUi.insertHandler(p,null,this.graph.model,this.editorUi.editor.graph.defaultVertexStyle,this.editorUi.editor.graph.defaultEdgeStyle,!0,!0),this.createThumb(p,this.thumbWidth,this.thumbHeight,s,t,l,i,r,n);var m=new mxRectangle(0,0,r,n);if(e.length>1||e[0].vertex){var d=this.createDragSource(s,this.createDropHandler(e,!0,a,m),this.createDragPreview(r,n),e,m);this.addClickHandler(s,d,e),d.isGuidesEnabled=mxUtils.bind(this,(function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled}))}else null!=e[0]&&e[0].edge&&(d=this.createDragSource(s,this.createDropHandler(e,!1,a,m),this.createDragPreview(r,n),e,m),this.addClickHandler(s,d,e));return!mxClient.IS_IOS&&o&&mxEvent.addGestureListeners(s,null,mxUtils.bind(this,(function(i){mxEvent.isMouseEvent(i)&&this.showTooltip(s,e,m.width,m.height,t,l)}))),s},Sidebar.prototype.updateShapes=function(e,t){var l=this.editorUi.editor.graph,i=l.getCellStyle(e),r=[];l.model.beginUpdate();try{for(var n=l.getModel().getStyle(e),a=["shadow","dashed","dashPattern","fontFamily","fontSize","fontColor","align","startFill","startSize","endFill","endSize","strokeColor","strokeWidth","fillColor","gradientColor","html","part","noEdgeStyle","edgeStyle","elbow","childLayout","recursiveResize","container","collapsible","connectable","comic","sketch","fillWeight","hachureGap","hachureAngle","jiggle","disableMultiStroke","disableMultiStrokeFill","fillStyle","curveFitting","simplification","sketchStyle"],o=0;o<t.length;o++){var s=t[o];if(l.getModel().isVertex(s)==l.getModel().isVertex(e)||l.getModel().isEdge(s)==l.getModel().isEdge(e)){var h=l.getCurrentCellStyle(t[o]);if(l.getModel().setStyle(s,n),"1"==mxUtils.getValue(h,"composite","0"))for(var p=l.model.getChildCount(s);p>=0;p--)l.model.remove(l.model.getChildAt(s,p));for("umlLifeline"==h[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=i[mxConstants.STYLE_SHAPE]&&(l.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[s]),l.setCellStyles("participant",i[mxConstants.STYLE_SHAPE],[s])),p=0;p<a.length;p++){var m=h[a[p]];null!=m&&l.setCellStyles(a[p],m,[s])}r.push(s)}}}finally{l.model.endUpdate()}return r},Sidebar.prototype.createDropHandler=function(e,t,l,i){return l=null==l||l,mxUtils.bind(this,(function(r,n,a,o,s,h){for(var p=h?null:mxEvent.isTouchEvent(n)||mxEvent.isPenEvent(n)?document.elementFromPoint(mxEvent.getClientX(n),mxEvent.getClientY(n)):mxEvent.getSource(n);null!=p&&p!=this.container;)p=p.parentNode;if(null==p&&r.isEnabled()){if((e=r.getImportableCells(e)).length>0){r.stopEditing();var m=null!=a&&!mxEvent.isAltDown(n)&&r.isValidDropTarget(a,e,n),d=null;if(null==a||m||(a=null),!r.isCellLocked(a||r.getDefaultParent())){r.model.beginUpdate();try{if(o=Math.round(o),s=Math.round(s),t&&r.isSplitTarget(a,e,n)){var c=r.view.scale,u=(o+(w=r.view.translate).x)*c,g=(s+w.y)*c,y=r.cloneCells(e);r.splitEdge(a,y,null,o-i.width/2,s-i.height/2,u,g),d=y}else e.length>0&&(d=r.importCells(e,o,s,a));if(null!=r.layoutManager){var x=r.layoutManager.getLayout(a);if(null!=x){c=r.view.scale,u=(o+(w=r.view.translate).x)*c,g=(s+w.y)*c;for(var w,f=0;f<d.length;f++)x.moveCell(d[f],u,g)}}!l||null!=n&&mxEvent.isShiftDown(n)||r.fireEvent(new mxEventObject("cellsInserted","cells",d))}catch(e){this.editorUi.handleError(e)}finally{r.model.endUpdate()}null!=d&&d.length>0&&(r.scrollCellToVisible(d[0]),r.setSelectionCells(d)),r.editAfterInsert&&null!=n&&mxEvent.isMouseEvent(n)&&null!=d&&1==d.length&&window.setTimeout((function(){r.startEditing(d[0])}),0)}}mxEvent.consume(n)}}))},Sidebar.prototype.createDragPreview=function(e,t){var l=document.createElement("div");return l.className="geDragPreview",l.style.width=e+"px",l.style.height=t+"px",l},Sidebar.prototype.dropAndConnect=function(e,t,l,i,r){var n=this.getDropAndConnectGeometry(e,t[i],l,t),a=[];if(null!=n){var o=this.editorUi.editor.graph,s=null;o.model.beginUpdate();try{var h=o.getCellGeometry(e),p=o.getCellGeometry(t[i]),m=o.model.getParent(e),d=!0;if(null!=o.layoutManager){var c=o.layoutManager.getLayout(m);null!=c&&c.constructor==mxStackLayout&&(d=!1)}a=o.model.isEdge(e)?null:o.view.getState(m);var u=0,g=0;if(null!=a){u=(f=a.origin).x,g=f.y;var y=n.getTerminalPoint(!1);null!=y&&(y.x+=f.x,y.y+=f.y)}var x=!o.isTableRow(e)&&!o.isTableCell(e)&&(o.model.isEdge(e)||null!=h&&!h.relative&&d),w=o.getCellAt((n.x+u+o.view.translate.x)*o.view.scale,(n.y+g+o.view.translate.y)*o.view.scale,null,null,null,(function(e,t,l){return!o.isContainer(e.cell)}));if(null!=w&&w!=m){if(null!=(a=o.view.getState(w))){var f=a.origin;m=w,x=!0,o.model.isEdge(e)||(n.x-=f.x-u,n.y-=f.y-g)}}else(!d||o.isTableRow(e)||o.isTableCell(e))&&(n.x+=u,n.y+=g);if(u=p.x,g=p.y,o.model.isEdge(t[i])&&(u=0,g=0),a=t=o.importCells(t,n.x-(x?u:0),n.y-(x?g:0),x?m:null),o.model.isEdge(e))o.model.setTerminal(e,t[i],l==mxConstants.DIRECTION_NORTH);else if(o.model.isEdge(t[i])){o.model.setTerminal(t[i],e,!0);var b=o.getCellGeometry(t[i]);if(b.points=null,null!=b.getTerminalPoint(!1))b.setTerminalPoint(n.getTerminalPoint(!1),!1);else if(x&&o.model.isVertex(m)){var v=o.view.getState(m);f=v.cell!=o.view.currentRoot?v.origin:new mxPoint(0,0),o.cellsMoved(t,f.x,f.y,null,null,!0)}}else p=o.getCellGeometry(t[i]),u=n.x-Math.round(p.x),g=n.y-Math.round(p.y),n.x=Math.round(p.x),n.y=Math.round(p.y),o.model.setGeometry(t[i],n),o.cellsMoved(t,u,g,null,null,!0),a=t.slice(),s=1==a.length?a[0]:null,t.push(o.insertEdge(null,null,"",e,t[i],o.createCurrentEdgeStyle()));null!=r&&mxEvent.isShiftDown(r)||o.fireEvent(new mxEventObject("cellsInserted","cells",t))}catch(e){this.editorUi.handleError(e)}finally{o.model.endUpdate()}o.editAfterInsert&&null!=r&&mxEvent.isMouseEvent(r)&&null!=s&&window.setTimeout((function(){o.startEditing(s)}),0)}return a},Sidebar.prototype.getDropAndConnectGeometry=function(e,t,l,i){var r=this.editorUi.editor.graph,n=r.view,a=i.length>1,o=r.getCellGeometry(e),s=r.getCellGeometry(t);if(null!=o&&null!=s)if(s=s.clone(),r.model.isEdge(e)){var h=(d=r.view.getState(e)).absolutePoints,p=h[0],m=h[h.length-1];l==mxConstants.DIRECTION_NORTH?(s.x=p.x/n.scale-n.translate.x-s.width/2,s.y=p.y/n.scale-n.translate.y-s.height/2):(s.x=m.x/n.scale-n.translate.x-s.width/2,s.y=m.y/n.scale-n.translate.y-s.height/2)}else{if(o.relative){var d=r.view.getState(e);(o=o.clone()).x=(d.x-n.translate.x)/n.scale,o.y=(d.y-n.translate.y)/n.scale}var c=r.defaultEdgeLength;if(r.model.isEdge(t)&&null!=s.getTerminalPoint(!0)&&null!=s.getTerminalPoint(!1)){p=s.getTerminalPoint(!0);var u=(m=s.getTerminalPoint(!1)).x-p.x,g=m.y-p.y;c=Math.sqrt(u*u+g*g),s.x=o.getCenterX(),s.y=o.getCenterY(),s.width=1,s.height=1,l==mxConstants.DIRECTION_NORTH?(s.height=c,s.y=o.y-c,s.setTerminalPoint(new mxPoint(s.x,s.y),!1)):l==mxConstants.DIRECTION_EAST?(s.width=c,s.x=o.x+o.width,s.setTerminalPoint(new mxPoint(s.x+s.width,s.y),!1)):l==mxConstants.DIRECTION_SOUTH?(s.height=c,s.y=o.y+o.height,s.setTerminalPoint(new mxPoint(s.x,s.y+s.height),!1)):l==mxConstants.DIRECTION_WEST&&(s.width=c,s.x=o.x-c,s.setTerminalPoint(new mxPoint(s.x,s.y),!1))}else if(!a&&s.width>45&&s.height>45&&o.width>45&&o.height>45&&(s.width=s.width*(o.height/s.height),s.height=o.height),s.x=o.x+o.width/2-s.width/2,s.y=o.y+o.height/2-s.height/2,l==mxConstants.DIRECTION_NORTH?s.y=s.y-o.height/2-s.height/2-c:l==mxConstants.DIRECTION_EAST?s.x=s.x+o.width/2+s.width/2+c:l==mxConstants.DIRECTION_SOUTH?s.y=s.y+o.height/2+s.height/2+c:l==mxConstants.DIRECTION_WEST&&(s.x=s.x-o.width/2-s.width/2-c),r.model.isEdge(t)&&null!=s.getTerminalPoint(!0)&&null!=t.getTerminal(!1)){var y=r.getCellGeometry(t.getTerminal(!1));null!=y&&(l==mxConstants.DIRECTION_NORTH?(s.x-=y.getCenterX(),s.y-=y.getCenterY()+y.height/2):l==mxConstants.DIRECTION_EAST?(s.x-=y.getCenterX()-y.width/2,s.y-=y.getCenterY()):l==mxConstants.DIRECTION_SOUTH?(s.x-=y.getCenterX(),s.y-=y.getCenterY()-y.height/2):l==mxConstants.DIRECTION_WEST&&(s.x-=y.getCenterX()+y.width/2,s.y-=y.getCenterY()))}}return s},Sidebar.prototype.isDropStyleEnabled=function(e,t){var l=!0;if(null!=t&&1==e.length){var i=this.graph.getCellStyle(e[t]);null!=i&&(l=mxUtils.getValue(i,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(i,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE)}return l},Sidebar.prototype.isDropStyleTargetIgnored=function(e){return this.graph.isSwimlane(e.cell)||this.graph.isTableCell(e.cell)||this.graph.isTableRow(e.cell)||this.graph.isTable(e.cell)},Sidebar.prototype.createDragSource=function(e,t,l,i,r){for(var n=this.editorUi,a=n.editor.graph,o=null,s=null,h=this,p=0;p<i.length&&(null==s&&a.model.isVertex(i[p])?s=p:null==o&&a.model.isEdge(i[p])&&null==a.model.getTerminal(i[p],!0)&&(o=p),null==s||null==o);p++);var m=this.isDropStyleEnabled(i,s),d=mxUtils.makeDraggable(e,a,mxUtils.bind(this,(function(e,l,r,n,a){if(null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=i&&null!=x&&V==C){var h=e.isCellSelected(x.cell)?e.getSelectionCells():[x.cell],p=this.updateShapes(e.model.isEdge(x.cell)?i[0]:i[s],h);e.setSelectionCells(p)}else if(null!=i&&null!=V&&null!=g&&V!=C){var m=e.model.isEdge(g.cell)||null==o?s:o;e.setSelectionCells(this.dropAndConnect(g.cell,i,P,m,l))}else t.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(e.view.getState(e.getSelectionCell()))})),l,0,0,a.autoscroll,!0,!0);a.addListener(mxEvent.ESCAPE,(function(e,t){d.isActive()&&d.reset()}));var c=d.mouseDown;function u(e,t){var l=null;return(l=mxUtils.createImage(e.src)).style.width=e.width+"px",l.style.height=e.height+"px",null!=t&&l.setAttribute("title",t),mxUtils.setOpacity(l,e==this.refreshTarget?30:20),l.style.position="absolute",l.style.cursor="crosshair",l}d.mouseDown=function(e){mxEvent.isPopupTrigger(e)||mxEvent.isMultiTouchEvent(e)||a.isCellLocked(a.getDefaultParent())||(a.stopEditing(),c.apply(this,arguments))};var g=null,y=null,x=null,w=!1,f=u(this.triangleUp,mxResources.get("connect")),b=u(this.triangleRight,mxResources.get("connect")),v=u(this.triangleDown,mxResources.get("connect")),E=u(this.triangleLeft,mxResources.get("connect")),C=u(this.refreshTarget,mxResources.get("replace")),T=null,S=u(this.roundDrop),A=u(this.roundDrop),P=mxConstants.DIRECTION_NORTH,V=null;function I(e,t,l,i){return null!=i.parentNode&&(mxUtils.contains(l,e,t)?(mxUtils.setOpacity(i,100),V=i):mxUtils.setOpacity(i,i==C?30:20)),l}var L=d.createPreviewElement;d.createPreviewElement=function(e){var t=L.apply(this,arguments);return mxClient.IS_SVG&&(t.style.pointerEvents="none"),this.previewElementWidth=t.style.width,this.previewElementHeight=t.style.height,t};var R=d.dragEnter;d.dragEnter=function(e,t){null!=n.hoverIcons&&n.hoverIcons.setDisplay("none"),R.apply(this,arguments)};var k=d.dragExit;d.dragExit=function(e,t){null!=n.hoverIcons&&n.hoverIcons.setDisplay(""),k.apply(this,arguments)},d.dragOver=function(e,t){if(mxDragSource.prototype.dragOver.apply(this,arguments),null!=this.currentGuide&&null!=V&&this.currentGuide.hide(),null!=this.previewElement){var l=e.view;if(null!=x&&V==C)this.previewElement.style.display=e.model.isEdge(x.cell)?"none":"",this.previewElement.style.left=x.x+"px",this.previewElement.style.top=x.y+"px",this.previewElement.style.width=x.width+"px",this.previewElement.style.height=x.height+"px";else if(null!=g&&null!=V){null!=d.currentHighlight&&null!=d.currentHighlight.state&&d.currentHighlight.hide();var n=e.model.isEdge(g.cell)||null==o?s:o,a=h.getDropAndConnectGeometry(g.cell,i[n],P,i),p=e.model.isEdge(g.cell)?null:e.getCellGeometry(g.cell),m=e.getCellGeometry(i[n]),c=e.model.getParent(g.cell),u=l.translate.x*l.scale,y=l.translate.y*l.scale;if(null!=p&&!p.relative&&e.model.isVertex(c)&&c!=l.currentRoot){var w=l.getState(c);u=w.x,y=w.y}var f=m.x,b=m.y;e.model.isEdge(i[n])&&(f=0,b=0),this.previewElement.style.left=(a.x-f)*l.scale+u+"px",this.previewElement.style.top=(a.y-b)*l.scale+y+"px",1==i.length&&(this.previewElement.style.width=a.width*l.scale+"px",this.previewElement.style.height=a.height*l.scale+"px"),this.previewElement.style.display=""}else null!=d.currentHighlight.state&&e.model.isEdge(d.currentHighlight.state.cell)?(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-r.width*l.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-r.height*l.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var D=(new Date).getTime(),M=0,z=null,N=this.editorUi.editor.graph.getCellStyle(i[0]);return d.getDropTarget=mxUtils.bind(this,(function(e,t,l,r){var n=mxEvent.isAltDown(r)||null==i?null:e.getCellAt(t,l,null,null,null,(function(t,l,i){return e.isContainer(t.cell)}));if(null!=n&&!this.graph.isCellConnectable(n)&&!this.graph.model.isEdge(n)){var a=this.graph.getModel().getParent(n);this.graph.getModel().isVertex(a)&&this.graph.isCellConnectable(a)&&(n=a)}e.isCellLocked(n)&&(n=null);var o=e.view.getState(n);V=null;var h=null;if(z!=o?(D=(new Date).getTime(),M=0,z=o,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=o&&(this.updateThread=window.setTimeout((function(){null==V&&(z=o,d.getDropTarget(e,t,l,r))}),this.dropTargetDelay+10))):M=(new Date).getTime()-D,m&&M<2500&&null!=o&&!mxEvent.isShiftDown(r)&&(mxUtils.getValue(o.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(N,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(o.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(o.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(o.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(N,mxConstants.STYLE_SHAPE)||M>1500||e.model.isEdge(o.cell))&&M>this.dropTargetDelay&&!this.isDropStyleTargetIgnored(o)&&(e.model.isVertex(o.cell)&&null!=s||e.model.isEdge(o.cell)&&e.model.isEdge(i[0]))){if(e.isCellEditable(o.cell)){x=o;var p=e.model.isEdge(o.cell)?e.view.getPoint(o):new mxPoint(o.getCenterX(),o.getCenterY());p=new mxRectangle(p.x-this.refreshTarget.width/2,p.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),C.style.left=Math.floor(p.x)+"px",C.style.top=Math.floor(p.y)+"px",null==T&&(e.container.appendChild(C),T=C.parentNode),I(t,l,p,C)}}else null==x||!mxUtils.contains(x,t,l)||M>1500&&!mxEvent.isShiftDown(r)?(x=null,null!=T&&(C.parentNode.removeChild(C),T=null)):null!=x&&null!=T&&(p=e.model.isEdge(x.cell)?e.view.getPoint(x):new mxPoint(x.getCenterX(),x.getCenterY()),p=new mxRectangle(p.x-this.refreshTarget.width/2,p.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),I(t,l,p,C));if(w&&null!=g&&!mxEvent.isAltDown(r)&&null==V){if(h=mxRectangle.fromRectangle(g),e.model.isEdge(g.cell)){var c=g.absolutePoints;if(null!=S.parentNode){var u=c[0];h.add(I(t,l,new mxRectangle(u.x-this.roundDrop.width/2,u.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),S))}if(null!=A.parentNode){var L=c[c.length-1];h.add(I(t,l,new mxRectangle(L.x-this.roundDrop.width/2,L.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),A))}}else{var R=mxRectangle.fromRectangle(g);null!=g.shape&&null!=g.shape.boundingBox&&(R=mxRectangle.fromRectangle(g.shape.boundingBox)),R.grow(this.graph.tolerance),R.grow(HoverIcons.prototype.arrowSpacing),null!=(G=this.graph.selectionCellsHandler.getHandler(g.cell))&&(R.x-=G.horizontalOffset/2,R.y-=G.verticalOffset/2,R.width+=G.horizontalOffset,R.height+=G.verticalOffset,null!=G.rotationShape&&null!=G.rotationShape.node&&"hidden"!=G.rotationShape.node.style.visibility&&"none"!=G.rotationShape.node.style.display&&null!=G.rotationShape.boundingBox&&R.add(G.rotationShape.boundingBox)),h.add(I(t,l,new mxRectangle(g.getCenterX()-this.triangleUp.width/2,R.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),f)),h.add(I(t,l,new mxRectangle(R.x+R.width,g.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),b)),h.add(I(t,l,new mxRectangle(g.getCenterX()-this.triangleDown.width/2,R.y+R.height,this.triangleDown.width,this.triangleDown.height),v)),h.add(I(t,l,new mxRectangle(R.x-this.triangleLeft.width,g.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),E))}null!=h&&h.grow(10)}P=mxConstants.DIRECTION_NORTH,V==b?P=mxConstants.DIRECTION_EAST:V==v||V==A?P=mxConstants.DIRECTION_SOUTH:V==E&&(P=mxConstants.DIRECTION_WEST),null!=x&&V==C&&(o=x);var k=(null==s||e.isCellConnectable(i[s]))&&(e.model.isEdge(n)&&null!=s||e.model.isVertex(n)&&e.isCellConnectable(n));if(null!=g&&M>=5e3||g!=o&&(null==h||!mxUtils.contains(h,t,l)||M>500&&null==V&&k))if(w=!1,null!=(g=M<5e3&&M>this.dropTargetDelay||e.model.isEdge(n)?o:null)&&k){for(var U=[S,A,f,b,v,E],O=0;O<U.length;O++)null!=U[O].parentNode&&U[O].parentNode.removeChild(U[O]);var G;if(e.model.isEdge(n)){if(null!=(c=o.absolutePoints)){u=c[0],L=c[c.length-1];var F=e.tolerance;new mxRectangle(t-F,l-F,2*F,2*F),S.style.left=Math.floor(u.x-this.roundDrop.width/2)+"px",S.style.top=Math.floor(u.y-this.roundDrop.height/2)+"px",A.style.left=Math.floor(L.x-this.roundDrop.width/2)+"px",A.style.top=Math.floor(L.y-this.roundDrop.height/2)+"px",null==e.model.getTerminal(n,!0)&&e.container.appendChild(S),null==e.model.getTerminal(n,!1)&&e.container.appendChild(A)}}else R=mxRectangle.fromRectangle(o),null!=o.shape&&null!=o.shape.boundingBox&&(R=mxRectangle.fromRectangle(o.shape.boundingBox)),R.grow(this.graph.tolerance),R.grow(HoverIcons.prototype.arrowSpacing),null!=(G=this.graph.selectionCellsHandler.getHandler(o.cell))&&(R.x-=G.horizontalOffset/2,R.y-=G.verticalOffset/2,R.width+=G.horizontalOffset,R.height+=G.verticalOffset,null!=G.rotationShape&&null!=G.rotationShape.node&&"hidden"!=G.rotationShape.node.style.visibility&&"none"!=G.rotationShape.node.style.display&&null!=G.rotationShape.boundingBox&&R.add(G.rotationShape.boundingBox)),f.style.left=Math.floor(o.getCenterX()-this.triangleUp.width/2)+"px",f.style.top=Math.floor(R.y-this.triangleUp.height)+"px",b.style.left=Math.floor(R.x+R.width)+"px",b.style.top=Math.floor(o.getCenterY()-this.triangleRight.height/2)+"px",v.style.left=f.style.left,v.style.top=Math.floor(R.y+R.height)+"px",E.style.left=Math.floor(R.x-this.triangleLeft.width)+"px",E.style.top=b.style.top,"eastwest"!=o.style.portConstraint&&(e.container.appendChild(f),e.container.appendChild(v)),e.container.appendChild(b),e.container.appendChild(E);null!=o&&null!=(y=e.selectionCellsHandler.getHandler(o.cell))&&null!=y.setHandlesVisible&&y.setHandlesVisible(!1),w=!0}else for(U=[S,A,f,b,v,E],O=0;O<U.length;O++)null!=U[O].parentNode&&U[O].parentNode.removeChild(U[O]);w||null==y||y.setHandlesVisible(!0);var H=mxEvent.isAltDown(r)&&!mxEvent.isShiftDown(r)||null!=x&&V==C?null:mxDragSource.prototype.getDropTarget.apply(this,arguments),W=e.getModel();if(null!=H&&(null!=V||!e.isSplitTarget(H,i,r))){for(;null!=H&&!e.isValidDropTarget(H,i,r)&&W.isVertex(W.getParent(H));)H=W.getParent(H);null!=H&&(e.view.currentRoot==H||!e.isValidRoot(H)&&0==e.getModel().getChildCount(H)||e.isCellLocked(H)||W.isEdge(H)||!e.isValidDropTarget(H,i,r))&&(H=null)}return e.isCellLocked(H)&&(H=null),H})),d.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var e=[S,A,C,f,b,v,E],t=0;t<e.length;t++)null!=e[t].parentNode&&e[t].parentNode.removeChild(e[t]);null!=g&&null!=y&&y.reset(),y=null,g=null,x=null,T=null,V=null},d},Sidebar.prototype.itemClicked=function(e,t,l,i){var r=this.editorUi.editor.graph;if(r.container.focus(),mxEvent.isAltDown(l)&&1==r.getSelectionCount()&&r.model.isVertex(r.getSelectionCell())){for(var n=null,a=0;a<e.length&&null==n;a++)r.model.isVertex(e[a])&&(n=a);null!=n&&(r.setSelectionCells(this.dropAndConnect(r.getSelectionCell(),e,mxEvent.isMetaDown(l)||mxEvent.isControlDown(l)?mxEvent.isShiftDown(l)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(l)?mxConstants.DIRECTION_EAST:mxConstants.DIRECTION_SOUTH,n,l)),r.scrollCellToVisible(r.getSelectionCell()))}else if(mxEvent.isShiftDown(l)&&!r.isSelectionEmpty()){var o=r.getEditableCells(r.getSelectionCells());this.updateShapes(e[0],o),r.scrollCellToVisible(o)}else{var s=mxEvent.isAltDown(l)?r.getFreeInsertPoint():r.getCenterInsertPoint(r.getBoundingBoxFromGeometry(e,!0));t.drop(r,l,null,s.x,s.y,!0)}},Sidebar.prototype.addClickHandler=function(e,t,l){var i=this.editorUi.editor.graph,r=t.mouseDown,n=t.mouseMove,a=t.mouseUp,o=i.tolerance,s=null,h=this;t.mouseDown=function(t){r.apply(this,arguments),s=new mxPoint(mxEvent.getClientX(t),mxEvent.getClientY(t)),null!=this.dragElement&&(this.dragElement.style.display="none",mxUtils.setOpacity(e,50))},t.mouseMove=function(t){null!=this.dragElement&&"none"==this.dragElement.style.display&&null!=s&&(Math.abs(s.x-mxEvent.getClientX(t))>o||Math.abs(s.y-mxEvent.getClientY(t))>o)&&(this.dragElement.style.display="",mxUtils.setOpacity(e,100)),n.apply(this,arguments)},t.mouseUp=function(i){try{mxEvent.isPopupTrigger(i)||null!=this.currentGraph||null==this.dragElement||"none"!=this.dragElement.style.display||h.itemClicked(l,t,i,e),a.apply(t,arguments),mxUtils.setOpacity(e,100),s=null,h.currentElt=e}catch(e){t.reset(),h.editorUi.handleError(e)}}},Sidebar.prototype.createVertexTemplateEntry=function(e,t,l,i,r,n,a,o){return null!=o&&null!=r&&(o+=" "+r),o=null!=o&&o.length>0?o:null!=r?r.toLowerCase():"",this.addEntry(o,mxUtils.bind(this,(function(){return this.createVertexTemplate(e,t,l,i,r,n,a)})))},Sidebar.prototype.createVertexTemplate=function(e,t,l,i,r,n,a,o,s){var h=[new mxCell(null!=i?i:"",new mxGeometry(0,0,t,l),e)];return h[0].vertex=!0,this.createVertexTemplateFromCells(h,t,l,r,n,a,o,s)},Sidebar.prototype.createVertexTemplateFromData=function(e,t,l,i,r,n,a,o){var s=mxUtils.parseXml(Graph.decompress(e)),h=new mxCodec(s),p=new mxGraphModel;h.decode(s.documentElement,p);var m=this.graph.cloneCells(p.root.getChildAt(0).children);return this.createVertexTemplateFromCells(m,t,l,i,r,n,a,o)},Sidebar.prototype.createVertexTemplateFromCells=function(e,t,l,i,r,n,a,o){return this.createItem(e,i,r,n,t,l,a,o)},Sidebar.prototype.createEdgeTemplateEntry=function(e,t,l,i,r,n,a,o,s){return a=null!=a&&a.length>0?a:r.toLowerCase(),this.addEntry(a,mxUtils.bind(this,(function(){return this.createEdgeTemplate(e,t,l,i,r,n,o,s)})))},Sidebar.prototype.createEdgeTemplate=function(e,t,l,i,r,n,a,o){var s=new mxCell(null!=i?i:"",new mxGeometry(0,0,t,l),e);return s.geometry.setTerminalPoint(new mxPoint(0,l),!0),s.geometry.setTerminalPoint(new mxPoint(t,0),!1),s.geometry.relative=!0,s.edge=!0,this.createEdgeTemplateFromCells([s],t,l,r,n,a,o)},Sidebar.prototype.createEdgeTemplateFromCells=function(e,t,l,i,r,n,a,o){return this.createItem(e,i,r,null==o||o,t,l,n,a)},Sidebar.prototype.addPaletteFunctions=function(e,t,l,i){this.addPalette(e,t,l,mxUtils.bind(this,(function(e){for(var t=0;t<i.length;t++)e.appendChild(i[t](e))})))},Sidebar.prototype.addPalette=function(e,t,l,i){var r=this.createTitle(t);this.container.appendChild(r);var n=document.createElement("div");n.className="geSidebar",mxClient.IS_POINTER&&(n.style.touchAction="none"),l?(i(n),i=null):n.style.display="none",this.addFoldingHandler(r,n,i);var a=document.createElement("div");return a.appendChild(n),this.container.appendChild(a),null!=e&&(this.palettes[e]=[r,a]),n},Sidebar.prototype.addFoldingHandler=function(e,t,l){var i=!1;(!mxClient.IS_IE||document.documentMode>=8)&&(e.style.backgroundImage="none"==t.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')"),e.style.backgroundRepeat="no-repeat",e.style.backgroundPosition="0% 50%",mxEvent.addListener(e,"click",mxUtils.bind(this,(function(r){if("none"==t.style.display){if(i)t.style.display="block";else if(i=!0,null!=l){e.style.cursor="wait";var n=e.innerHTML;e.innerHTML=mxResources.get("loading")+"...",window.setTimeout((function(){t.style.display="block",e.style.cursor="",e.innerHTML=n;var i=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject,l(t,e),mxClient.NO_FO=i}),mxClient.IS_FF?20:0)}else t.style.display="block";e.style.backgroundImage="url('"+this.expandedImage+"')"}else e.style.backgroundImage="url('"+this.collapsedImage+"')",t.style.display="none";mxEvent.consume(r)}))),mxEvent.addListener(e,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,(function(e){e.preventDefault()})))},Sidebar.prototype.removePalette=function(e){var t=this.palettes[e];if(null!=t){this.palettes[e]=null;for(var l=0;l<t.length;l++)this.container.removeChild(t[l]);return!0}return!1},Sidebar.prototype.addImagePalette=function(e,t,l,i,r,n,a){for(var o=[],s=0;s<r.length;s++)mxUtils.bind(this,(function(e,t,r){if(null==r){var n=e.lastIndexOf("/"),a=e.lastIndexOf(".");r=e.substring(n>=0?n+1:0,a>=0?a:e.length).replace(/[-_]/g," ")}o.push(this.createVertexTemplateEntry("image;html=1;image="+l+e+i,this.defaultImageWidth,this.defaultImageHeight,"",t,null!=t,null,this.filterTags(r)))}))(r[s],null!=n?n[s]:null,null!=a?a[r[s]]:null);this.addPaletteFunctions(e,t,!1,o)},Sidebar.prototype.getTagsForStencil=function(e,t,l){for(var i=e.split("."),r=1;r<i.length;r++)i[r]=i[r].replace(/_/g," ");return i.push(t.replace(/_/g," ")),null!=l&&i.push(l),i.slice(1,i.length)},Sidebar.prototype.addStencilPalette=function(e,t,l,i,r,n,a,o,s,h){if(a=null!=a?a:1,this.addStencilsToIndex){var p=[];if(null!=s)for(var m=0;m<s.length;m++)p.push(s[m]);mxStencilRegistry.loadStencilSet(l,mxUtils.bind(this,(function(e,t,l,n,s){if(null==r||mxUtils.indexOf(r,t)<0){var h=this.getTagsForStencil(e,t),m=null!=o?o[t]:null;null!=m&&h.push(m),p.push(this.createVertexTemplateEntry("shape="+e+t.toLowerCase()+i,Math.round(n*a),Math.round(s*a),"",t.replace(/_/g," "),null,null,this.filterTags(h.join(" "))))}})),!0,!0),this.addPaletteFunctions(e,t,!1,p)}else this.addPalette(e,t,!1,mxUtils.bind(this,(function(e){if(null==i&&(i=""),null!=n&&n.call(this,e),null!=s)for(var t=0;t<s.length;t++)s[t](e);mxStencilRegistry.loadStencilSet(l,mxUtils.bind(this,(function(t,l,n,o,s){(null==r||mxUtils.indexOf(r,l)<0)&&e.appendChild(this.createVertexTemplate("shape="+t+l.toLowerCase()+i,Math.round(o*a),Math.round(s*a),"",l.replace(/_/g," "),!0))})),!0)})))},Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null),null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null),null!=this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler),this.pointerDownHandler=null),null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null),null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};